我无法成功编写此查询,并且尚未找到任何资源。
我有一个包含两列的表格。该表看起来有点像这样:
|student|teacher|
| 5314 | 656 |
| 4189 | 671 |
| 4506 | 671 |
| 4515 | 671 |
| 3754 | 756 |
| 3760 | 756 |
| 1066 | 781 |
我希望结果集如下所示:
|teacher|count|
| 656 | 1 |
| 671 | 3 |
| 756 | 2 |
| 781 | 1 |
非常感谢任何提示。
最佳答案
您想在此处使用 COUNT(*) 聚合函数,并按教师列进行分组。
试试这个:
SELECT teacher, COUNT(*) as numStudents
FROM myTable
GROUP BY teacher;
这将按教师对表格中的所有行进行分组,并计算该组中的行数(有效地计算学生数)。
这里有更多关于 Aggregate Functions 的信息为你。
关于mysql - 计算一列的重复次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26616983/