版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
题目描述
有一个courses 表 ,有: student (学生) 和 class (课程)。
请列出所有超过或等于5名学生的课。
例如,表:
应该输出:
Note:
学生在每个课中不应被重复计算
题解
SELECT class
FROM courses
GROUP BY class
HAVING COUNT(DISTINCT student)>=5;
思路解析
需要注意的是学生在每个课中可能会被重复计算,所以
SELECT class
FROM courses
GROUP BY class
之后还要
HAVING COUNT(DISTINCT student)>=5;
DISTINCT一定要加