搜尋

首頁  >  問答  >  主體

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,然後重新獲得分組。資料庫能直接達到這樣?

仅有的幸福仅有的幸福2700 天前1076

全部回覆(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
  • 取消回覆