天天看點

oracle 分組_sql 分組語句group by

聚合函數如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表查詢結果如下:

oracle 分組_sql 分組語句group by

1、查詢每個人的總分,語句如下:

select name 姓名,sum(score) 個人總分 from student group by name
           

輸出結果:

oracle 分組_sql 分組語句group by

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
           

輸出結果:

oracle 分組_sql 分組語句group by

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
           

輸出結果:

oracle 分組_sql 分組語句group by

注:分組語句GROUP BY  做條件篩選,必須用having

小編推薦閱讀:

  • 一起認識資料庫

  • SQL Server2014安裝圖文詳解

  • Mysql安裝圖文詳解!手把手教會您從下載下傳到安裝成功

  • Oracle安裝圖文詳解!手把手教會您從下載下傳到安裝成功
oracle 分組_sql 分組語句group by