select 统计数量_leetcode题库-sql练习精讲系列--十三、简单分组统计类问题
生活随笔
收集整理的這篇文章主要介紹了
select 统计数量_leetcode题库-sql练习精讲系列--十三、简单分组统计类问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這是一個系列文章,這個系列的理念是通過一道題,搞懂一類題。涵蓋了SQL面試最常考的知識點。搞懂這些題,面試時工作中sql不可能有問題。
文章分為引入問題-完整解析-答案-leetcode題和答案-知識點拓展-BAT等大廠面試真題幾個部分。
希望能幫你全方位的弄懂。有問題可以留言,碼字不易,寫一篇要好幾個小時,希望能得到點贊收藏哦
一、問題-leetcode題庫-596.超過5名學生的課
有一個學生選課信息 表 ,有: student (學生) 和 class (課程)。
請列出所有被學生選擇超過或等于5次的課程。
Note:學生在每個課中不應被重復計算。
二、準備
create table 學生選課信息表 ( 學生編號 varchar(20), 選課課程 varchar(20));insert into 學生選課信息表 values ('01','數學'), ('02','英語'), ('03','數學'), ('04','地理'), ('05','數學'), ('06','計算機'), ('07','數學'), ('08','數學'), ('09','數學');三、解答
[解題思路]
1.明確題干要求,找出被選次數超過或等于5次的課程。
所以可以按照課程名稱分組,首先統計選每門課的學生數量。
SELECT a.選課課程 FROM(SELECT 選課課程, COUNT(學生編號) AS 選課次數FROM 學生選課信息表GROUP BY 選課課程) AS a2.按照題干中的提示,學生在每個課中不應被重復計算。所以增加distinct關鍵字。
選課學生大于或等于5人,所以篩選條件加上where 選課次數 >= 5.
SELECT a.選課課程 FROM(SELECT 選課課程, COUNT(學生編號) AS 選課次數FROM 學生選課信息表GROUP BY 選課課程) AS a WHERE 選課次數 >= 5總結
以上是生活随笔為你收集整理的select 统计数量_leetcode题库-sql练习精讲系列--十三、简单分组统计类问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教你如何用PS快速抠图:[3]抠出自然头
- 下一篇: 姚晨和凌潇肃那段被歪曲的往事(网友大骂“