Heim  >  Fragen und Antworten  >  Hauptteil

Wie gruppiere ich in MySQL?

Benutzertabelle übernehmen

id Name Gruppe
1 evan admin
1 evan1 admin
1 evan2 admin
1 evan3 Benutzer
1 evan4 Benutzer

select * from user group by user.group 出来的数据只有2条,而不是 user.groupadmin的一组,user.groupuser ist eine Gruppe

Lösung, mysql Wie gruppiere ich Arrays? Es scheint, als gäbe es viele Orte, an denen eine Gruppierung erforderlich ist.

PHP中文网PHP中文网2664 Tage vor1048

Antworte allen(2)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-07-04 13:45:47

    没有看太懂你的意思,用 group by user.group 就会出现2条,因为你的数据里只有 adminuser 两种 group 数据。

    分组 是需要结合 count, sum 等统计方法使用的。

    如果你要的是admin的数据在一起,user 的数据在一起,那就直接 order by user.group 就好了

    Antwort
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-07-04 13:45:47

    GROUP BY子句的话,如果只有一个条件的话,只按照该条件满足的所有唯一值,一个为一条数据。对于GROUP BY user.group,你只有两种唯一值:useradmin,所以就只会有两条数据。

    如果你想将相同user.group的数据放在一起,正如楼上所说,直接使用排序即可。

    如果你想要相同的user.group合并成一行且不丢失user.name数据,可以使用GROUP_CONCAT()函数,将所有组内的name合并成逗号分隔的字符串(当然可以改成其他分隔符)

    SELECT *, GROUP_CONCAT(user.name) FROM user GROUP BY user.group

    Antwort
    0
  • StornierenAntwort