题目链接:点击打开链接
题目大意:略。
解题思路:解决方案(2),注:COUNT(student)
不能直接在 WHERE
子句中使用,这里将其重命名为 num
。
AC 代码
-- 解决方案(1)
SELECT rs.class
FROM (SELECT DISTINCT student, class FROM courses) rs
GROUP BY rs.class
HAVING COUNT(1) >= 5
-- 解决方案(2)
SELECT
class
FROM
(SELECT
class, COUNT(DISTINCT student) AS num
FROM
courses
GROUP BY class) AS temp_table
WHERE
num >= 5;
-- 解决方案(3)
SELECT
class
FROM
courses
GROUP BY class
HAVING COUNT(DISTINCT student) >= 5;