sql 分組(group by)


分組(group by)

group_by的意思是根據by對數據按照對應字段進行分組,所謂的分組就是將一個“數據集”划分成若干個“小區域”,然后針對若干個“小區域”進行數據處理。

select 查詢字段 from 表名  group   by 分組字段

解析:簡單點來說就是以 “分組字段” 為依據進行聚合操作,比如:很多門課和很多個學生,你如果想取得每個學生上了多少門客,那么我就以每個學生分組 ,來求課程數

示例:課程表Course

select StudentId,Count(*)CourseNumber from  Course  GROUP BY StudentId

解析:首先我以學生ID 進行的分組,那么所有學生ID相同的數據都是一個組,然后我在組內進行取行數【count(*)】,然后的給個別名CourseNumber 

這里要注意使用使用了group by 就不能用*,只能使用group by的字段,因為select的語句執行的先后順序是先group by 再select ,這個時候其實數據已經分組了,所以你的“查詢字段”里面只能出現【分組字段】和【分組聚合函數】

 

select 字段 from 表名 where  過濾條件 group  by 字段 having 過濾條件

解析:having是分組之后再進行條件篩選的關鍵詞,和where不同的是 where條件在分組之前執行和having條件在分組之后執行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM