1. 程式人生 > >mysql 分組查詢教程

mysql 分組查詢教程

一行 數據集 select 行數據 div 處理 劃分 字段 group

1.分組

  分組就是將一個“數據集”劃分成若幹個“小區域”,然後針對若幹個“小區域”進行數據處理。

2.分組的特點

  1.)group by的含義:將查詢結果按照1個或多個字段進行分組,字段值相同的為一組

  2.)group by可用於單個字段分組,也可用於多個字段分組

3 分組的用法

select 字段名 from 數據表 group by 分組字段名

技術分享圖片

4 使用分組時相當於把某個字段按照某個要求疊在了一起,這時候使用普通的方法無法查看每個組的內容,需要group_concat(分組的字段名)來查詢

select 分組字段名 group_concat(字段名) from 數據表 group by 分組字段名

技術分享圖片

5.當你需要某些需求的查詢,需要為分組查詢添加一個限制條件,這時候不能使用where進行條件篩選,應該使用having進行條件篩選

select gender,count(*) from students group by gender having count(*)>2;

  

技術分享圖片 

6.當你需要對數據表的分組進行匯總的,可以使用 with rollup 方法(當不配合分組使用時默認對全數據表進行匯總)

select gender,count(*) from students group by gender with rollup;

技術分享圖片

總結:

  1. group by 關鍵字能根據1個或多個字段對數據進行分組
  2. group_concat函數作用就是將每個分組中的每個成員的指定個字段拼接在一行中顯示
  3. 聚合函數在和 group by 結合使用時, 統計的對象是每個分組
  4. having 是對分組結果進行條件過濾
  5. with rollup在分組結果最後新增一行完成匯總顯示。

mysql 分組查詢教程