There is a table courses with columns: student and class
Please list out all classes which have more than or equal to 5 students.
For example, the table:
+---------+------------+
| student | class |
+---------+------------+
| A | Math |
| B | English |
| C | Math |
| D | Biology |
| E | Math |
| F | Computer |
| G | Math |
| H | Math |
| I | Math |
+---------+------------+
Should output:
+---------+
| class |
+---------+
| Math |
+---------+
Note:
The students should not be counted duplicate in each course.
解题思路
(1)找出学生数量大于等于5个的课程;
(2)每个课程中学生不能重复计算,使用distinct student。
实现代码
select
class
from
courses
group by
class
having
count(distinct student) >= 5;
备注:题型与 博客 “[MySQL习题] 查询重复邮箱 Duplicate Emails”相似。