mysql的group?by使用及多字段分組
首先,思考一個(gè)問題,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 來設(shè)置一個(gè)可以取代 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

例如多個(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL GROUP BY多個(gè)字段的具體使用
- mysql5.7同時(shí)使用group by和order by報(bào)錯(cuò)問題
- 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語句Groupby被兼容的情況
- mysql使用GROUP BY分組實(shí)現(xiàn)取前N條記錄的方法
- Mysql中g(shù)roup by 使用中發(fā)現(xiàn)的問題
相關(guān)文章
MySQL 文本文件的導(dǎo)入導(dǎo)出數(shù)據(jù)的方法
但有時(shí)為了更快速地插入大批量數(shù)據(jù)或交換數(shù)據(jù),需要從文本中導(dǎo)入數(shù)據(jù)或?qū)С鰯?shù)據(jù)到文本。下面的具體的方法大家可以參考下。多測試。2009-11-11
mysql中的utf8與utf8mb4存儲(chǔ)及區(qū)別
本文主要介紹了mysql中的utf8與utf8mb4存儲(chǔ)及區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Mysql數(shù)據(jù)庫的QPS和TPS的意義和計(jì)算方法
今天小編就為大家分享一篇關(guān)于Mysql數(shù)據(jù)庫的QPS和TPS的意義和計(jì)算方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
解決MySQL Sending data導(dǎo)致查詢很慢問題的方法與思路
這篇文章主要介紹了解決MySQL Sending data導(dǎo)致查詢很慢問題的方法與思路,感興趣的小伙伴們可以參考一下2016-04-04

