LeetCode 数据库刷题 - 596. 超过5名学生的课

举报
北京小马哥 发表于 2020/11/05 09:24:57 2020/11/05
【摘要】 每天刷道LeetCode, 大家一起交流答案吧

有一个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    |
+---------+

提示:

  • 学生在每个课中不应被重复计算。

-- 解法1
select class
from courses
group by class
having count(distinct student)>=5
 
 
-- 解法2
select t.class
from (
    select distinct *
    from courses
) t
group by class
having count(student)>=5

该题不难, 就是有点坑, 没注意到提示中写道: 同一课程中, 可能学生有重复

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。