mysql 如何分組?
問(wèn)題描述
假設(shè)user表
idnamegroup1evanadmin1evan1admin1evan2admin1evan3user1evan4userselect * from user group by user.group 出來(lái)的數(shù)據(jù)只有2條,而不是 user.group 為admin的一組,user.group 為 user 的為一組
求解,mysql 怎么把數(shù)組分組?感覺(jué)蠻多地方需要用到分組。
問(wèn)題解答
回答1:沒(méi)有看太懂你的意思,用 group by user.group 就會(huì)出現(xiàn)2條,因?yàn)槟愕臄?shù)據(jù)里只有 admin 和 user 兩種 group 數(shù)據(jù)。
分組 是需要結(jié)合 count, sum 等統(tǒng)計(jì)方法使用的。
如果你要的是admin的數(shù)據(jù)在一起,user 的數(shù)據(jù)在一起,那就直接 order by user.group 就好了
回答2:用GROUP BY子句的話,如果只有一個(gè)條件的話,只按照該條件滿足的所有唯一值,一個(gè)為一條數(shù)據(jù)。對(duì)于GROUP BY user.group,你只有兩種唯一值:user和admin,所以就只會(huì)有兩條數(shù)據(jù)。
如果你想將相同user.group的數(shù)據(jù)放在一起,正如樓上所說(shuō),直接使用排序即可。
如果你想要相同的user.group合并成一行且不丟失user.name數(shù)據(jù),可以使用GROUP_CONCAT()函數(shù),將所有組內(nèi)的name合并成逗號(hào)分隔的字符串(當(dāng)然可以改成其他分隔符)
SELECT *, GROUP_CONCAT(user.name) FROM user GROUP BY user.group
相關(guān)文章:
1. dockerfile - [docker build image失敗- npm install]2. golang - 用IDE看docker源碼時(shí)的小問(wèn)題3. docker-compose中volumes的問(wèn)題4. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!5. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.6. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?7. mac里的docker如何命令行開(kāi)啟呢?8. javascript - 最近用echarts做統(tǒng)計(jì)圖時(shí)遇到兩個(gè)問(wèn)題!!9. docker內(nèi)創(chuàng)建jenkins訪問(wèn)另一個(gè)容器下的服務(wù)器問(wèn)題10. docker不顯示端口映射呢?
![dockerfile - [docker build image失敗- npm install]](http://www.b3g6.com/attached/image/news/202311/1028105a80.png)
網(wǎng)公網(wǎng)安備