1. 程式人生 > >MySQL聚合函式Group by理解

MySQL聚合函式Group by理解

今天遇到一個問題是分組統計問題,表結構如下,我們的需求是按小時去聚合統計不同type和count_key的和。
這裡寫圖片描述
這裡可以用聚合函式:

SELECT type,count_key,count,DATE_FORMAT(count_hour,"%H") as hour FROM statistic_hourly GROUP BY type,count_key,DATE_FORMAT(count_hour,"%Y-%m-%d %H");

這個指令碼的意思就是唯一的type,count_key,小時下的count的和。
DATE_FORMAT是MySQL自帶的時間轉換函式,GROUP BY的意思就是對後面的欄位進行分組,與前面的AVG,COUNT,SUM聚合函式等結合使用,對於GROUP BY後面的欄位只會返回一行,聚合函式統計該組內欄位的結果,WHERE子句是在分組前對資料進行篩選,GROUP BY … HAVING 是分組後的資料進行篩選。
1.WHERE 篩選 FROM 子句中指定的條件的行。
2.GROUP BY 用來分組 WHERE 子句的輸出結果。
3.HAVING 用來從分組的結果中篩選行。