mysql - 计算一列的重复次数

标签 mysql

我无法成功编写此查询,并且尚未找到任何资源。

我有一个包含两列的表格。该表看起来有点像这样:

|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/

相关文章:

mysql - 在 SQL 中向查询添加子查询

mysql - NIFI JDBC 连接到 MariaDB UTF8 支持

php - 对 ORDER BY FIELD 产生的记录组进行排序

java - 使用查询更新对象外键

php - 在不使用 MVC 的情况下从 OpenCart 中的数据库中检索信息

mysql - 为什么 MySQL 以我不期望的方式匹配字符串和整数?

php - 避免在注册表单 php 中注入(inject) SQL

php - CakePHP:使用过滤器部署数据库更改

Java 从 MS SQL 切换到 MySQL - 字符集

php - 在数据库中插入外键数据