如何在MySQL中返回不同的值及其计数?
当我们需要统计一个MySQL数据表中某一列的不同值及其个数时,可以使用以下语句来获取:
SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name;
其中,column_name是需要统计的列名,table_name是数据表名。
例如,我们有以下一张名为students的数据表:
| id | name | grade |
|---|---|---|
| 1 | Alice | 90 |
| 2 | Bob | 80 |
| 3 | Alice | 85 |
| 4 | Alice | 92 |
| 5 | Bob | 88 |
| 6 | Carol | 75 |
我们需要统计name列中每个不同的值及其出现次数,可以使用以下语句:
SELECT name, COUNT(*)
FROM students
GROUP BY name;
返回结果为:
| name | COUNT(*) |
|---|---|
| Alice | 3 |
| Bob | 2 |
| Carol | 1 |
阅读更多:MySQL 教程
HAVING语句
如果我们需要筛选出某一列出现次数达到一定数量的值,可以使用HAVING语句。例如,如果我们需要筛选出出现次数大于等于2的学生姓名及其出现次数,可以使用以下语句:
SELECT name, COUNT(*)
FROM students
GROUP BY name
HAVING COUNT(*) >= 2;
返回结果为:
| name | COUNT(*) |
|---|---|
| Alice | 3 |
| Bob | 2 |
总结
使用COUNT函数和GROUP BY语句可以方便地统计MySQL数据表中某一列的不同值及其出现次数。使用HAVING语句可以对统计结果进行筛选。
极客笔记