搜索

首页  >  问答  >  正文

mysql group by 只显示一个?

假设user表

| id | name | group |
| 1 | evan | admin |
| 2| charlie | admin|
| 3 | kid | user |
| 4 | ward | user |
|5 | fy | user |
select * from user group by user.group
选出来为何只有2条数据,而不是把,group为admin的用户分为一组,把group为user的用户分为一组
求解,mysql怎么样才能达到想要的效果...
目前想到的只有全部取出来,然后遍历把user.group当key,然后重新获得分组。数据库能直接达到这样?

仅有的幸福仅有的幸福2703 天前1081

全部回复(3)我来回复

  • phpcn_u1582

    phpcn_u15822017-07-04 13:45:42

    和 mysql 如何分组?重复了

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-04 13:45:42

    mysql没有,自己写一个就行,直接 order by group 取出数据,然后:
    伪代码

    def map,arr, g
    for x in list
        if x.group != g
          g = x.group
          arr.new
          map.put(g,arr)
       arr.add(x)

    不少语言的集合操作已经包含了这样的功能,比如 java8...

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-04 13:45:42

    这就是把admin分为一组,user分为一组得到两条数据啊,楼主说的我没听懂

    回复
    0
  • 取消回复