超过5名学生的课(SQL语句)

有一个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:
学生在每个课中不应被重复计算。

 答案:
  去重
select class, count(student) from courses  GROUP BY class HAVING count(DISTINCT student) >=5

  

 
  未去重: 
select class, count(class) from courses  GROUP BY class HAVING count(class) >=5
posted @ 2020-04-10 13:42  jiyanjiao  阅读(316)  评论(0编辑  收藏  举报