文章详情页
mysql 如何分组?
浏览:182日期: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. html - 爬虫时出现“DNS lookup failed”,打开网页却没问题,这是什么情况?2. javascript - echart+百度地图3. web - Rails3使用form_for时出现undefined method `*_path’错误。4. css - autoprefixer没有添加web-kit前缀5. 无效的配置对象已使用与API模式不匹配的配置对象初始化了Webpack6. javascript 开发百度地图7. nginx - 关于vue项目部署到ngnix后出现的问题8. angular.js - 百度爬虫如何处理“#”符号?9. nosql - mongodb 多组数据不固定字段查询问题 [百度党请绕道]10. css3 - 请问,如何通过CSS实现高度height随宽度width变化而变化,保持长宽比例不变,宽度是根据父元素宽度变化的?
排行榜
