group by即按照給定字段對結果集進行分組,從字面意義上理解就是根據“by”指定的規則對數據進行分組,所謂的分組就是將一個“數據集”划分成若干個“小區域”,然后針對若干個“小區域”進行數據處理。
group by的寫法:
1.select 字段列表/* from 表名 group by 字段列表
2.select 字段列表/* from 表名 group by 字段列表 having 過濾條件
group by的特點:
常和聚合函數一起使用
select 后僅可以加分組字段和聚合函數
下面舉個栗子:
首先有一個表:
select avg(s.degree) from score s group by s.cno
顯示為:
在score表里以cno進行分組,然后對score表里的以cno分組之后的組為單位,求了一下每個組的平均值。這就是group by的用法啦。當然了,如果直接輸出group by的話就是如下:
select s.cno from score s group by s.cno