一、题目描述:596. 超过5名学生的课(简单)
SQL架构
有一个
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:
学生在每个课中不应被重复计算。
二、解题思路
1、select a.class from (select class, count(distinct student) as count_t from courses group by class) as a where a.count_t>=5
2、select class from courses group by class having count(distinct student)>=5 ;