GROUP BY
GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。
GROUP BY 简单实例
我们先从简单的开始学习,先关注我们的教师表teachers,教师来自不同的国家,我们希望统计不同国家教师的人数,可以使用GROUP BY来统计我们查询的结果,并将结果按照不同国籍教师人数从小到大排列,如果相同教师数量则按照国籍名称排列
SELECT country, COUNT(country) as teacher_count
FROM teachers
GROUP BY country
ORDER BY teacher_count, country;执行输出结果
mysql> SELECT country, COUNT(country) as teacher_count
-> FROM teachers
-> GROUP BY country
-> ORDER BY teacher_count, country;
+---------+---------------+
| country | teacher_count |
+---------+---------------+
| JP | 1 |
| UK | 1 |
| USA | 1 |
| CN | 2 |
+---------+---------------+
4 rows in set (0.00 sec)可以看到我们的结果很好的展示了出来
GROUP BY 多表实例
我们课程表courses每节课程的由一个老师授课,而一个老师对应多门课程,下面我们实现SQL语句,统计每个老师教授课程的学生总数,如果教师没有授课则返回学生上课人数为0
执行输出结果
GROUP BY 总结
通过上述案例的学习,我们可以总结出GROUP BY的使用方法
语法
Last updated
Was this helpful?