题目:
There is a table courses with columns: student and class
Please list out all classes which have more than or equal to 5 students.
For example, the table:
+———+————+
| student | class |
+———+————+
| A | Math |
| B | English |
| C | Math |
| D | Biology |
| E | Math |
| F | Computer |
| G | Math |
| H | Math |
| I | Math |
+———+————+
Should output:
+———+
| class |
+———+
| Math |
+———+
Note:
The students should not be counted duplicate in each course.
Answer:
思路:注意DISTINCT
对name
字段去重,GROUP BY
和HAVING
分组统计。
# Write your MySQL query statement below
SELECT
A.class
FROM
( SELECT DISTINCT student, class FROM courses ) AS A
GROUP BY
A.class
HAVING
COUNT( A.student ) >= 5