举例
编写一个SQL查询来报告 至少有5个学生 的所有类。 以 任意顺序 返回结果表。 查询结果格式如下所示。
输入:
Courses table:
±--------±---------+
| student | class |
±--------±---------+
| A | Math |
| B | English |
| C | Math |
| D | Biology |
| E | Math |
| F | Computer |
| G | Math |
| H | Math |
| I | Math |
±--------±---------+
输出:
±--------+
| class |
±--------+
| Math |
±--------+
方法一:使用 GROUP BY 子句和子查询
SELECT
class
FROM
(SELECT
class, COUNT(DISTINCT student) AS num
FROM
courses
GROUP BY class) AS temp_table
WHERE
num >= 5
;
方法二:使用 GROUP BY 和 HAVING 条件
SELECT
class
FROM
courses
GROUP BY class
HAVING COUNT(DISTINCT student) >= 5
;
例子来源【leetcode】