MySQL單表聚合統(tǒng)計是指在一個表中,通過對某一列或多列的數(shù)值進行匯總統(tǒng)計,得到一些匯總結(jié)果,例如平均值、總和、最大值、最小值等等。這種統(tǒng)計方法常常被用于數(shù)據(jù)分析和決策支持。
CREATE TABLE `students` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `age` int(11) DEFAULT NULL, `score` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上述代碼創(chuàng)建了一個名為students
的表,包含四個列,分別是自增ID、姓名、年齡和成績。我們可以通過一些聚合函數(shù)來實現(xiàn)對這些數(shù)據(jù)的匯總統(tǒng)計。
1. 統(tǒng)計總?cè)藬?shù)
SELECT COUNT(*) FROM students;
2. 統(tǒng)計平均成績
SELECT AVG(score) FROM students;
3. 統(tǒng)計最高分和最低分
SELECT MAX(score), MIN(score) FROM students;
4. 按年齡統(tǒng)計人數(shù)
SELECT age, COUNT(*) FROM students GROUP BY age;
通過 GROUP BY 子句可以將結(jié)果按照某一列的數(shù)值進行分組,然后再進行統(tǒng)計。
在進行單表聚合統(tǒng)計時,還可以結(jié)合其他 SQL 語句來實現(xiàn)更靈活的統(tǒng)計需求,例如使用 WHERE 子句進行篩選、使用 ORDER BY 進行排序等等。