MYSQL數據庫 分組

1.分組
按照字段分組,表示此字段相同的數據會被放到一個組中
分組後,只能查詢相同的數據列,對於有差異的數據列無法出現在結果集中
可以對分組後的數據進行統計,做聚合運算

語法:
select 例1,列2,聚合··· from 表名 group by 列1,列2,列3···
例:

#查詢男女生總數
select gender count(*) from students group by gender;

在這裏插入圖片描述

2.分組後數據的篩選
語法:
select 例1,例2,聚合··· from 表名
group by 例1,列2,列3···
having 例1,··· 聚合 ···
【注】having後的條件運算符與where相同
例:

#查詢男生總人數
#方案一(此方案之前已經提及,再次不再贅述)
select count(*) from students where gender=1;
#方案二
select count(*),gender from students group by gender having gender=1;

在這裏插入圖片描述
對比where與having
where是對from後面指定的表進行數據篩選,屬於對原始數據的篩選
having 是對group by 後的結果進行篩選

我們可以給分組的列換一個別名,然後進行操作,只需要用到 ’as‘

mysql> select gender as '性別',count(*) as '人數' from students group by gender having count(*)>2;

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章