聚合函數如sum(),max()等,通常需要結合分組語句group by 使用 GROUP BY 語句 GROUP BY 語句用于結合合計函數,根據一個或多個列對結果集進行分組。 文法:
SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name
GROUP BY 執行個體
student表查詢結果如下:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iZjdTZ3cjZ2IzYklTMzkjY1Q2MwADOjJTNykTMjV2Yy8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
1、查詢每個人的總分,語句如下:
select name 姓名,sum(score) 個人總分 from student group by name
輸出結果:
2、按課程彙總查詢,語句如下:
select name 姓名,max(case course when '國文' then score else 0 end ) 國文,max(case course when '數學' then score else 0 end ) 數學,max(case course when '英語' then score else 0 end ) 英語,sum(score) 總成績from studentgroup by name
輸出結果:
3、查詢平均分大于75分的學生,語句如下:
select name 姓名,max(case course when '國文' then score else 0 end ) 國文,max(case course when '數學' then score else 0 end ) 數學,max(case course when '英語' then score else 0 end ) 英語,sum(score) 總成績,avg(score) 平均分from studentgroup by namehaving avg(score)>75
輸出結果:
注:分組語句GROUP BY 做條件篩選,必須用having
小編推薦閱讀:
-
一起認識資料庫
-
SQL Server2014安裝圖文詳解
-
Mysql安裝圖文詳解!手把手教會您從下載下傳到安裝成功
- Oracle安裝圖文詳解!手把手教會您從下載下傳到安裝成功