LeetCode 596. Classes More Than 5 Students

版权声明

  • LeetCode 系列笔记来源于 LeetCode 题库1,在个人思考的基础之上博采众长,受益匪浅;故今记此文,感怀于心,更多题解及程序,参见 Github2
  • 该系列笔记不以盈利为目的,仅用于个人学习、课后复习及交流讨论;
  • 如有侵权,请与本人联系([email protected]),经核实后即刻删除;
  • 本文采用 署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0) 协议发布;

1. LeetCode 596

  • 方法一:
    • 子查询中,执行分组后对不重复的学生计数;
    • 使用WHERE子句筛选上课学生数量不小于5的课程;
  • 方法二:
    • 对分组后的数据使用HAVING子句过滤;
    • 过滤条件:不重复的学生数量大于等于5;

2. 子查询+ WHERE 子句

SELECT class 
FROM (
    SELECT class, COUNT(DISTINCT student) AS num
    FROM courses
    GROUP BY class
) AS auxTable
WHERE num >= 5; 

3. HAVING 子句

  • 注意:聚集函数COUNT()中可使用DISTINCT关键字,统计不重复的元素数量;
SELECT class
FROM courses
GROUP BY class
HAVING COUNT(DISTINCT student) >= 5;

References


  1. https://leetcode-cn.com/u/hqpan/. ↩︎

  2. https://github.com/hqpan/LeetCode. ↩︎

发布了118 篇原创文章 · 获赞 9 · 访问量 9754

猜你喜欢

转载自blog.csdn.net/Maximize1/article/details/103839042