1. 程式人生 > >【SQL】group by

【SQL】group by

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 BY
desc

技術分享圖片

註意:GROUP BY 子句介於 WHERE 子句和 ORDER BY 子句 中間。

《完》

【SQL】group by