1樓:匿名使用者
mysql不支援first函式,如果資料表裡含有自增id欄位的,可以利用該欄位單純依靠sql語句實現檢索出每組的第一條記錄,否則就要使用系統開銷很大的遊標來解決了。
下面提供一個利用自增id來只顯示每個分類第一條記錄的純sql語句方案供參考:
select a.* from t1 a,(select 分組欄位,min(id) as id from t1 group
by 分組欄位) b where a.id=b.id;
sql按欄位分組,並且找出每組的第一條資料
2樓:匿名使用者
不知道你什
麼資料庫,給出sqlserver和oracle的select 星期,字母
from
(select rank() over(partition by 星期 order by 字母 desc) id,*
from 表) t1
where id=1
或者select 星期,max(字母)
from 表
group by 星期
3樓:匿名使用者
select 星期,max(字母) as 字母 from 表 group by 星期
mysql中,先分組,按某個欄位計數,然後把計算出的數求和,怎麼寫,
4樓:匿名使用者
求和很簡單呀,套一層sql語句
就可以了,中間是你的sql語句,取出來的欄位最好起個別名(這裡用val),臨時的那個結果也給起個別名(這裡用t):
select sum ( t.val ) from(select count(distinct(da1.studentno)) as val from dcs_attendance da1 group by from_unixtime(da1.
inserttime,'%y%m%d')
) t至於你還要做其他的,得看其他的資料關係了,現有的資訊沒法做。
sql資料庫怎麼實現分組並取每組的前1條語句,按日期排序?
5樓:果樹上的小黑貓
select * from
(select row_number() over(partition by '分組' order by '日期') as rownum -- 排序並分組
, * -- 所需顯抄示的欄位from 表
) as t
where t.rownum = 1
對每組的資料按日期排序並加上行號
取出時只取行號為1,也就是第一條資料。
6樓:匿名使用者
select top 1 * from 表 group by 分組條件 order by 日期
sql中根據表中一個欄位分組分別統計每個分組的記錄數
7樓:baby愛吃水煎包
分組統計可以參考以下操作:
當陣列重複的時候分組才有意義,因為一個人也可以分為一組,只是沒有意義而已,分組採用group by語句完成,語法如下:
例子:按照部門編號分組,求出每個部門的人數,平均工資
按照職位分組,求出每個職位的最高和最低工資:
一旦分組之後,實際上對於語法上就會出現新的限制:
分組函式可在沒有分組的時候單獨使用,卻不能出現其他的查詢欄位:
ename就是其它查詢欄位。在select子句之後,只能出現分組的欄位和統計函式,其它的欄位不能出現
分組函式允許巢狀,但是巢狀之後的分組函式的查詢之中不能再出現任何其它欄位
例子:按照職位分組,統計平均工資最高的工資
當新增其它欄位『job』之後出現錯誤
例子:查詢出每個部門的名稱、位置、部門的人數、平均工資
確定所需的資料表:
emp表:部門的人數,平均工資
dept表:部門的名稱,位置
確定已知的關聯欄位:
emp.deptno = dept.deptno
發現dname存在重複,可以進行分組去除重複,按照之前對分組的理解,只要資料重複那麼就有可能進行分組的查詢操作,但是此時與之前的分組操作 不太一樣,之前的分組是針對一張實體表進行分組的(emp,dept都屬於實體表),但是對於以上的資料是通過查詢結果顯示的,所以是一張臨時的虛擬表,但是不管是否是實體表還是虛擬表,只要是有重複,那麼就直接進行分組
8樓:匿名使用者
select 欄位,count(欄位) from tablename group by 欄位
mysql 分組後 每組隨機取一條記錄 求sql語句
9樓:匿名使用者
在sqlserver中用的是top關鍵字抄 比如查詢user表
select * from user limit 1 ;這就bai可以了,, 另外du mysql 中的翻頁zhi很方便的。比sqlserver中的簡單dao多了。
10樓:匿名使用者
wangzhiqing999 , holychuo答案均正確,但 wangzhiqing999 好象要強一點,學習了
11樓:匿名使用者
|create table test_gd2gd2(
id int,
type int,
str char(3)
);insert into test_gd2gd2
select 1, 0, 'aaa' union all
select 2, 0, 'bbb' union all
select 3, 1, 'sss' union all
select 4, 1, 'ddd' union all
select 5, 2, 'ggg' union all
select 6, 2, 'hhh';
mysql> select
-> type,
-> (select str from test_gd2gd2 sub
-> where type = main.type order by rand()
-> limit 0,1) as rstr
-> from
-> test_gd2gd2 main
-> group by
-> type;
+------+------+
|62616964757a686964616fe4b893e5b19e31333264653335 type | rstr |
+------+------+
| 0 | bbb |
| 1 | ddd |
| 2 | hhh |
+------+------+
3 rows in set (0.01 sec)
mysql> select
-> type,
-> (select str from test_gd2gd2 sub
-> where type = main.type order by rand()
-> limit 0,1) as rstr
-> from
-> test_gd2gd2 main
-> group by
-> type;
+------+------+
| type | rstr |
+------+------+
| 0 | aaa |
| 1 | sss |
| 2 | hhh |
+------+------+
3 rows in set (0.00 sec)
12樓:匿名使用者
select * from (select * from tablename order by rand()) as a group by a.type
13樓:匿名使用者
select * from table order by rand() limit 0,1;
大神們 幫幫我啊..mysql 分組後取每組最新一條資料
14樓:匿名使用者
關聯查詢可以解決你的問題,用到group by分組、limit 1即可
每個型別下最新的商品
每個型別,就是每內個商品種類
假設商容品表表名為a,種類表為b假設商品種類表的主鍵為type_idgroup by b.type_id
關聯查詢:兩張表肯定有關係,沒猜錯的話就是商品的種類idsql語句為:
select
a.* from
a left join b on a.product_type_id = b.type_id
group by b.type_id
order by a.id desc limit 1自己組織一下,不難的
資料探勘中分類和迴歸的區別資料探勘中分類和迴歸的區別是什麼?
單純就這句話而言不能說錯,只是不完全。分類是指一類問題,而回歸是一類工具。分類的目的在於給物件按照其類別打上相應的標籤再分門別類,而回歸則是根據樣本研究其兩個 或多個 變數之間的依存關係,是對於其趨勢的一個分析 分類的標籤如果是表示 離散的 有排序關係的類別時,比如說 好 較好 一般 這樣的時候,也...
Oracle資料庫分類彙總方法,Oracle資料分類統計的sql語句怎麼寫
select 公司,case when grouping 部門 1 then 公司合計 else 部門 end as 部門,sum 工資 工資總額 from a group by rollup 公司,部門 上面這個,資料是先出 公司 部門 的組合的 key 得到該公司的每個部門的總和 最後出一個 公...
怎樣用excel公式分類彙總資料
簡單介紹兩種利用公式完成分類彙總的方法 假設 要建立一個其中每個賬戶 均可出現多次的月度事務列表。在月末,您需要按賬戶 對資料進行組織和分類彙總。示例資料集中的賬戶號碼在列a中,金額在列b中。資料區域是a2 b100,資料目前未排序。方法 1 使用創造性的 if 語句和 選擇性貼上 步驟如下 1 按...