20.4.25 超过5名学生的课 简单 596
题目
有一个courses 表 ,有: student (学生) 和 class (课程)。
请列出所有超过或等于5名学生的课。
例如,表:
+---------+------------+
| student | class |
+---------+------------+
| A | Math |
| B | English |
| C | Math |
| D | Biology |
| E | Math |
| F | Computer |
| G | Math |
| H | Math |
| I | Math |
+---------+------------+
应该输出:
+---------+
| class |
+---------+
| Math |
+---------+
Note:
学生在每个课中不应被重复计算。
解题思路
- 做的时候又忘了DISTINCT的这个关键词了,去重必备;
- 派生表一定要使用别名。
代码
# Write your MySQL query statement below
SELECT class
FROM (
SELECT DISTINCT *
FROM courses
)AS noRepeat
GROUP BY class
HAVING COUNT(class)>=5