mysql 如何分組?
問題描述
假設(shè)user表
idnamegroup1evanadmin1evan1admin1evan2admin1evan3user1evan4userselect * from user group by user.group 出來的數(shù)據(jù)只有2條,而不是 user.group 為admin的一組,user.group 為 user 的為一組
求解,mysql 怎么把數(shù)組分組?感覺蠻多地方需要用到分組。
問題解答
回答1:沒有看太懂你的意思,用 group by user.group 就會出現(xiàn)2條,因為你的數(shù)據(jù)里只有 admin 和 user 兩種 group 數(shù)據(jù)。
分組 是需要結(jié)合 count, sum 等統(tǒng)計方法使用的。
如果你要的是admin的數(shù)據(jù)在一起,user 的數(shù)據(jù)在一起,那就直接 order by user.group 就好了
回答2:用GROUP BY子句的話,如果只有一個條件的話,只按照該條件滿足的所有唯一值,一個為一條數(shù)據(jù)。對于GROUP BY user.group,你只有兩種唯一值:user和admin,所以就只會有兩條數(shù)據(jù)。
如果你想將相同user.group的數(shù)據(jù)放在一起,正如樓上所說,直接使用排序即可。
如果你想要相同的user.group合并成一行且不丟失user.name數(shù)據(jù),可以使用GROUP_CONCAT()函數(shù),將所有組內(nèi)的name合并成逗號分隔的字符串(當(dāng)然可以改成其他分隔符)
SELECT *, GROUP_CONCAT(user.name) FROM user GROUP BY user.group
相關(guān)文章:
1. javascript - 獲取標(biāo)簽中的字符串2. javascript - 為什么我的vue里的router-link不起作用3. javascript - js 寫一個正則 提取文本中的數(shù)據(jù)4. javascript - vue子路由匹配渲染到頂級視圖層問題5. 算法 - python 給定一個正整數(shù)a和一個包含任意個正整數(shù)的 列表 b,求所有<=a 的加法組合6. javascript - 發(fā)現(xiàn)個奇怪的問題,寫的css動畫當(dāng)我把標(biāo)簽頁收起時動畫自動暫停了7. javascript - js一個小的算法問題,找個好一點的答案。8. javascript - 新組成的數(shù)組打印出來出現(xiàn)問題,里面有對象,但長度為空9. javascript - 關(guān)于Lazyload遇到的問題10. javascript - 如果根據(jù)參數(shù)給table中的tr綁定不同事件
