天天看點

sql 分組統計_SQL彙總分析

一、如何進行彙總分析

彙總函數

  • count(<列名>) 求某列的行數,count(<列名>)列出除空值以外的行;count(*) 列出全部的行(包括空值)。distinct(<列名>)删除重複值
  • sum(<列名>)對某列資料求和,隻能對數值類型的列計算。
  • avg (<列名>)求某列資料的平均值 ,隻能對數值類型的列計算。
  • max (<列名>)求某列資料的最大值
  • min (<列名>)求某列資料的最小值

二、分組

SQL分組:group by

SQL運作順序②——③——④——①

①select 性别,count(*)

②from 學生表

③where 出生日期 > '1990-01-01'

④group by 性别;

三、對分組結果指定條件(having)

①select 性别,count(*) ----------查詢結果

②from 學生表 ----------從哪張表中查找資料

③where 出生日期 > '1990-01-01' ---------- 查詢條件

④group by 性别 ---------- 分組

⑤having count(*) > 1; ---------- 對分組結果指定條件

四、用SQL解決業務問題

1、翻譯成大白話

2、寫出分析思路

3、寫出對應的SQL子句

五、對查詢結果排序(order by)

降序(desc)、升序(asc)

含有空值(null)的列排序,在查詢結果的開頭顯示

從查詢結果中取出指定行:limit

六、如何看懂報錯資訊

常見錯誤:

在group by中使用了select裡的别名

在where中使用彙總函數

字元串類型的數字

七、SQL運作順序

sql 分組統計_SQL彙總分析

八、練習

1、查詢課程編号為“0002”的總成績

sql 分組統計_SQL彙總分析

2、查詢選了課程的學生人數

sql 分組統計_SQL彙總分析

3、查詢各科成績最高和最低的分

sql 分組統計_SQL彙總分析

4、查詢每門課程被選修的學生數

sql 分組統計_SQL彙總分析

5、查詢男生、女生人數

sql 分組統計_SQL彙總分析

6、查詢平均成績大于60分學生的學号和平均成績

sql 分組統計_SQL彙總分析

7、查詢至少選修兩門課程的學生學号

sql 分組統計_SQL彙總分析

8、查詢同名同姓學生名單并統計同名人數

sql 分組統計_SQL彙總分析

9、查詢不及格的課程并按課程号從大到小排列

sql 分組統計_SQL彙總分析

10、查詢每門課程的平均成績,結果按平均成績升序排序,平均成績相同時,按課程号降序排列

sql 分組統計_SQL彙總分析

11、檢索課程編号為“04”且分數小于60的學生學号,結果按按分數降序排列

sql 分組統計_SQL彙總分析

12、統計每門課程的學生選修人數(超過2人的課程才統計),要求輸出課程号和選修人數,查詢結果按人數降序排序,若人數相同,按課程号升序排序

sql 分組統計_SQL彙總分析

13、查詢兩門以上不及格課程的同學的學号及不及格課程的平均成績

sql 分組統計_SQL彙總分析

繼續閱讀