题目:
有一个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:
学生在每个课中不应被重复计算。
解题思路:
使用子查询创建临时表,然后进行select操作。
代码实现:
# Write your MySQL query statement below SELECT class FROM ( SELECT class, COUNT(DISTINCT student) AS num FROM courses GROUP BY class ) AS tmp_table WHERE num >= 5;
本文介绍了一个SQL查询案例,用于找出所有超过或等于5名学生报名的课程。通过使用子查询和聚合函数COUNT来实现对每门课程的学生人数统计。
1232

被折叠的 条评论
为什么被折叠?



