题目描述:
有一个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 |
±--------+
提示:
学生在每个课中不应被重复计算。
代码:
# Write your MySQL query statement below
select class from (select class,count(distinct student) as num from courses group by class) as newcoureses where num>=5;
把count(distinct student)做为一个新的属性num,和class一起,作为一张新的表,再从新的表中select出num>=5的class