參考經典文章:https://blog.csdn.net/liu_shi_jun/article/details/51329472
1.group by 分組 ,每一組數據只有一行,如果group by col1,col2 即根據兩個字段進行分組,那么會對這兩列進行排列組合,每一行都是唯一不重復的一組
2.分組的數據里面 可以用聚合函數 如 COUNT 、SUM進行統計,不能在select中寫一個不在分組里面的字段,因為1組數據只有一行,但是這個未作為分組條件的字段可能有多個值,這樣就不知道展示哪個值了。
3.where在分組前使用,對所有數據進行過濾;having在分組后使用 對組進行過濾。
查詢Score表中 班級號碼 以3開頭,有20名以上學生有成績 的所有學生 的平均成績
select avg(StudentScore) from Score where CId like '3%' group by CId having COUNT(*)>20