文章詳情頁
mysql 如何分組?
瀏覽:146日期:2022-06-10 15:27:45
問題描述
假設user表
idnamegroup1evanadmin1evan1admin1evan2admin1evan3user1evan4userselect * from user group by user.group 出來的數據只有2條,而不是 user.group 為admin的一組,user.group 為 user 的為一組
求解,mysql 怎么把數組分組?感覺蠻多地方需要用到分組。
問題解答
回答1:沒有看太懂你的意思,用 group by user.group 就會出現2條,因為你的數據里只有 admin 和 user 兩種 group 數據。
分組 是需要結合 count, sum 等統計方法使用的。
如果你要的是admin的數據在一起,user 的數據在一起,那就直接 order by user.group 就好了
回答2:用GROUP BY子句的話,如果只有一個條件的話,只按照該條件滿足的所有唯一值,一個為一條數據。對于GROUP BY user.group,你只有兩種唯一值:user和admin,所以就只會有兩條數據。
如果你想將相同user.group的數據放在一起,正如樓上所說,直接使用排序即可。
如果你想要相同的user.group合并成一行且不丟失user.name數據,可以使用GROUP_CONCAT()函數,將所有組內的name合并成逗號分隔的字符串(當然可以改成其他分隔符)
SELECT *, GROUP_CONCAT(user.name) FROM user GROUP BY user.group
相關文章:
1. Whitelabel錯誤頁面發生意外錯誤(類型=未找到,狀態= 404)/WEB-INF/views/home.jsp2. css3 - 請問,如何寫這個顏色的(漸變),并且在移動端自適應3. html5 - iphone5手機,微信中無法打開優酷鏈接?4. 用Java8的 stream 操作外部集合是否存在并發問題?5. html5和Flash對抗是什么情況?6. docker-compose 為何找不到配置文件?7. javascript - angularjs怎么獲取repeat里的某些$index值?8. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?9. javascript - 移動端,當出現遮罩層的時候,遮罩層里有div是超出高度scroll的,怎么避免滑動div的時候,body跟隨滑動?10. html5 - h5寫的app用的webview,用手機瀏覽器打開不顯示?
排行榜
