MySQL是一個開源的關系型數據庫管理系統,在數據處理中,有時需要對數據進行分組計數,實現數據統計的需求。Mysql分組計數可以使用GROUP BY語句和COUNT函數進行實現。
--語法格式 SELECT column_name, COUNT(column_name) FROM table_name GROUP BY column_name;
GROUP BY語句可以將相同的結果分組,然后對每個組使用COUNT函數進行計數。例如,我們有一個students表格,包含四個欄位id、name、score、gender,現在需要按性別對學生人數進行統計,可以使用以下代碼實現:
SELECT gender, COUNT(*) AS count FROM students GROUP BY gender;
執行以上代碼后,將會得到一個按性別統計學生數的結果集:
gender count ---------------- male 25 female 30
在以上代碼中,我們使用了COUNT(*)函數來計算每個分組的行數,AS關鍵字為該列指定了別名count。注意,COUNT(*)函數是包括NULL行數的。
如果需要按其他欄位進行分組計數,只需將需要分組的欄位放入GROUP BY語句中即可。例如,我們需要按成績段統計學生人數,可以使用以下代碼實現:
SELECT CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' WHEN score >= 70 THEN 'C' WHEN score >= 60 THEN 'D' ELSE 'F' END AS grade, COUNT(*) AS count FROM students GROUP BY grade;
執行以上代碼后,將會得到按成績統計學生數的結果集:
grade count ----------- A 12 B 18 C 25 D 18 F 2
以上是MySQL分組計數的相關介紹,希望對大家有所幫助。