mysql的group?by使用及多字段分組
首先,思考一個問題,GROUP BY X意思是將所有具有相同X字段值的記錄放到一個分組里,即是以X字段進行分組;那么GROUP BY X, Y呢,同理,此意思是將所有具有 相同X和Y字段值的記錄放到一個分組里,換言之,是以X和Y字段進行分組。group by一般是和聚合函數(shù)在一起使用,例如count、sum、avg等,使用group by的兩個要素:
1)創(chuàng)建數(shù)據(jù)表
2)插入數(shù)據(jù)
按照score列進行分組,計算數(shù)量
SELECT score,count(*) FROM `main_user` GROUP BY score
按照score列進行分組,計算數(shù)量,并根據(jù)score列倒敘
SELECT score,count(*) FROM `main_user` GROUP BY score desc
根據(jù)score,age兩列進行分組
SELECT score,age,count(*) FROM `main_user` GROUP BY score,age
根據(jù)score,age兩列進行分組,并排序
SELECT score,age,count(*) FROM `main_user` GROUP BY score desc ,age desc
使用 WITH ROLLUP
WITH ROLLUP 可以實現(xiàn)在分組統(tǒng)計數(shù)據(jù)基礎(chǔ)上再進行相同的統(tǒng)計(SUM,AVG,COUNT…)。
例如單個字段分組使用 with rollup
ELECT score,max(age),count(*),min(age) FROM `main_user` GROUP BY score [desc/asc] with rollup
我們可以使用 coalesce 來設(shè)置一個可以取代 NUll 的名稱,coalesce 語法:
select coalesce(a,b,c);
參數(shù)說明:如果anull,則選擇b;如果bnull,則選擇c;如果a!=null,則選擇a;如果a b c 都為null ,則返回為null(沒意義)。
SELECT coalesce(score,'xxx'),max(age),count(*),min(age) FROM `main_user` GROUP BY score desc with rollup
例如多個字段分組使用 with rollup
SELECT score,age,max(age),count(*),min(age) FROM `main_user` GROUP BY score,age with rollup
SELECT score,age,max(age),count(*),min(age) FROM `main_user` GROUP BY age,score with rollup
到此這篇關(guān)于mysql的group by使用及多字段分組的文章就介紹到這了,更多相關(guān)mysql group by使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL GROUP BY多個字段的具體使用
- mysql5.7同時使用group by和order by報錯問題
- MySQL中g(shù)roup by與max()一起使用的坑
- MySQL group by和order by如何一起使用
- MySQL去重該使用distinct還是group by?
- MySQL中使用group by 是總是出現(xiàn)1055的錯誤(推薦)
- mysql中count(), group by, order by使用詳解
- Mysql中錯誤使用SQL語句Groupby被兼容的情況
- mysql使用GROUP BY分組實現(xiàn)取前N條記錄的方法
- Mysql中g(shù)roup by 使用中發(fā)現(xiàn)的問題
相關(guān)文章
MySQL中TINYINT、INT 和 BIGINT的具體使用
MySQL提供了多種整數(shù)類型來滿足不同的數(shù)據(jù)存儲需求,本文主要介紹了MySQL中TINYINT、INT 和 BIGINT的具體使用,具有一定的參考價值,感興趣的可以了解一下2024-07-07阿里云ECS云服務器(linux系統(tǒng))安裝mysql后遠程連接不了(踩坑)
這篇文章主要介紹了阿里云ECS云服務器(linux系統(tǒng))安裝mysql后遠程連接不了(踩坑),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04Mysql update多表聯(lián)合更新的方法小結(jié)
這篇文章主要介紹了Mysql update多表聯(lián)合更新的方法小結(jié),通過實例代碼給大家介紹了mysql多表關(guān)聯(lián)update的語句,感興趣的朋友跟隨小編一起看看吧2020-02-02超詳細mysql left join,right join,inner join用法分析
比較詳細的mysql的幾種連接功能分析,只要你看完就能學會的好東西2008-08-08mysql使用xtrbackup+relaylog增量恢復注意事項
這篇文章主要介紹了mysql使用xtrbackup+relaylog增量恢復,本次實驗mysql5.7.19.使用了GTID,row格式的binlog,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-05-05