LeetCode数据库专题
简单难度
596. 超过5名学生的课
题目
有一个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:
学生在每个课中不应被重复计算。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/classes-more-than-5-students
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解答(Mysql)
-- 解答1 226ms
SELECT class FROM dbo.courses
GROUP BY class
HAVING COUNT(DISTINCT student) >= 5
-- 解答2 213ms
SELECT class FROM
(SELECT class, COUNT(DISTINCT student) AS num FROM courses
GROUP BY class) AS temp_table
WHERE
num >= 5