LeetCode Database 596 超过5名学生的课

1. 题目描述

有一个courses 表 ,有: student (学生)class (课程)

请列出所有超过或等于5名学生的课。

例如,表:

1
2
3
4
5
6
7
8
9
10
11
12
13
+---------+------------+
| student | class |
+---------+------------+
| A | Math |
| B | English |
| C | Math |
| D | Biology |
| E | Math |
| F | Computer |
| G | Math |
| H | Math |
| I | Math |
+---------+------------+

应该输出:

1
2
3
4
5
+---------+
| class |
+---------+
| Math |
+---------+

2. 题解

2.1. MySQL

注意:这表里有重复记录的,比如A学生选了Math的记录可以有多条,所以COUNT要用DISTINCT去重

1
2
SELECT class FROM courses
GROUP BY class HAVING COUNT(DISTINCT(student)) >= 5
panchaoxin wechat
关注我的公众号
支持一下