【SQL】group by
阿新 • • 發佈:2018-04-12
group access 概述 head 分類 count last esc htm
Group By 分類匯總
1、概述
“Group By”從字面意義上理解就是根據“By”指定的規則對數據進行分組,所謂的分組就是將一個“數據集”劃分成若幹個“小區域”,然後針對若幹個“小區域”進行數據處理。
GROUP BY 子句放在 WHERE 子句之後,ORDER BY 子句之前。
2、聚合函數
group by語句中select指定的字段必須是“分組依據字段”,其他字段若想出現在select中則必須包含在聚合函數中,常見的聚合函數如下表:
函數 | 作用 | 支持性 |
---|---|---|
sum(列名) | 求和 | |
max(列名) | 最大值 | |
min(列名) | 最小值 | |
avg(列名) |
平均值 | |
first(列名) | 第一條記錄 | 僅Access支持 |
last(列名) | 最後一條記錄 | 僅Access支持 |
count(列名) | 統計記錄數 | 註意和count(*)的區別 |
3、示例
表結構:
現有數據:
(1)
SELECT * FROM test1 GROUP BY name
以name為關鍵字,每個name隨機搜到了一個
(2)
SELECT name, avg(age) FROM test1 GROUP BY name
avg : 顯示name和age兩列,age列取所有滿足項的平均值
(3)
SELECT*, avg(age) FROM test1 GROUP BY name
顯示了所有列,外加 avg(age) 一列
(4)
SELECT name, sum(age) FROM test1 GROUP BY name
sum : 對age一列求和
(5)
SELECT name, count(age) FROM test1 GROUP BY name
count : 滿足添加的數量
(6)
SELECT name, count(age) FROM test1 WHERE age>30 AND age<60 GROUP BY name ORDER BYdesc
註意:GROUP BY 子句介於 WHERE 子句和 ORDER BY 子句 中間。
《完》
【SQL】group by