① sql:如何取得分組中某個欄位為最大值的那些記錄
用group by就可以解決。
比如表名為test,數據如下
id grade
1 10
1 20
2 40
2 30
現在要求按id分組查詢grade的和,可以用如下語句:
1
select id,sum(grade) as grade from test group by id;
得到的結果是
id grade
1 30
2 70
② SQL中只對某兩個欄位進行分組,但我想得到其他欄位而其他欄位不寫在GroupBy後,怎麼做
如果其他欄位的值都是一樣的,那就用max或者min
如果是數字,並且需要計算,就用聚合函數
如果是其他的,那最好是先把分組的欄位先取出來做一張臨時表再和原表關聯取得其他的值。
③ sql對一個欄位進行分組 怎麼顯示多個欄位
SELECT"最高分",student.*
FROMstudent,(SELECTMAX(score)ASscore,`subject`FROMstudentGROUPBY`subject`)b
WHEREstudent.`score`=b.score
ANDstudent.`subject`=b.subject
UNION
SELECT"最低分",student.*
FROMstudent,(SELECTMIN(score)ASscore,`subject`FROMstudentGROUPBY`subject`)b
WHEREstudent.`score`=b.score
ANDstudent.`subject`=b.subject;
親試可行,推薦這種,可以看看,容易理解
④ 如何使用group by 分組查詢表中所有欄位信息
1.創建測試表,
創建表test_group_cols(idnumber,值varchar2(20),remarkvarchar2(20));
⑤ 用SQL按兩個欄位分組查詢
SELECT month,no,money=SUM(MONEY) FROM TABLENAME GROUP BY MONTH,NO ORDER BY MONTH,NO
上面是第一個結果。
第二個這樣得到:
select month as [m-n],
(select sum(money) from tablename b where b.month=a.month and b.no=1) as [1],
(select sum(money) from tablename b where b.month=a.month and b.no=2) as [2],
(select sum(money) from tablename b where b.month=a.month and b.no=3) as [3]
from
(select distinct month from tablename) a
⑥ SQL如何查詢一張表的所有欄位並按其中一個欄位進行分組
1、創建測試表,
create table test_group_cols(id number, value varchar2(20), remark varchar2(20));
⑦ (oracle)sql根據某一欄位分組求和後再列出其他欄位信息
acd一樣的話,可以select a,c,d,sum(b) from table group by a,c,d;
除了ab欄位外,取c一條記錄 select a,c,sum(b) from where c = '你要的c' table group by a,c;