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