MySQL的GROUP BY語句非常有用,可以對數據進行分組。在分組后,可以應用聚合函數(如SUM、AVG、COUNT等)來統計數據。
SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) ORDER BY column_name(s);
在上面的SQL查詢中,我們選擇將表格中的某一列進行分組。我們可以在SELECT語句中使用聚合函數計算每個分組的值,并在輸出時使用ORDER BY語句按照列名進行排序。
GROUP BY語句還有很多特殊功能,例如可以將數據按照一個或多個列進行分組,甚至可以使用HAVING語句按照聚合函數過濾分組。
SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) HAVING condition ORDER BY column_name(s);
最后,需要注意的是,使用GROUP BY語句時必須注意所選列中不能有NULL值。NULL值會影響計算結果,因此需要使用IS NOT NULL語句過濾。
SELECT column_name(s) FROM table_name WHERE condition AND column_name IS NOT NULL GROUP BY column_name(s) ORDER BY column_name(s);
需要注意的是,GROUP BY語句對于大型數據庫查詢可能會產生性能問題。因為對于每個分組,都需要計算一次聚合函數。因此,在使用GROUP BY語句時,應該優化查詢,避免查詢過多行和列。