Anggap jadual pengguna
id | nama | kumpulan |
---|---|---|
1 | evan | admin |
1 | evan1 | admin |
1 | evan2 | admin |
1 | evan3 | pengguna |
1 | evan4 | pengguna |
select * from user group by user.group
出来的数据只有2条,而不是 user.group
为admin
的一组,user.group
为 user
ialah kumpulan
Penyelesaian, mysql
Bagaimana untuk mengumpulkan tatasusunan? Rasanya banyak tempat yang perlu berkumpul.
Saya tidak begitu faham maksud anda, jadi gunakan
group by user.group
就会出现2
条,因为你的数据里只有admin
和user
两种group
data.分组
是需要结合count
,sum
dan kaedah statistik lain digunakan.Jika itu yang anda mahukan
admin
的数据在一起,user
的数据在一起,那就直接order by user.group
Itu sahajaGunakan
GROUP BY
子句的话,如果只有一个条件的话,只按照该条件满足的所有唯一值,一个为一条数据。对于GROUP BY user.group
,你只有两种唯一值:user
和admin
, jadi hanya akan ada dua keping data.Jika anda ingin menyatukan
user.group
data yang sama, seperti yang dinyatakan di atas, hanya gunakan pengisihan.Jika anda ingin menggabungkan yang sama
user.group
合并成一行且不丢失user.name
数据,可以使用GROUP_CONCAT()
函数,将所有组内的name
ke dalam satu baris tanpa kehilangan datauser.name
, anda boleh menggunakan fungsiGROUP_CONCAT()
untuk menggabungkannameDigabungkan menjadi rentetan yang dipisahkan koma (sudah tentu ia boleh ditukar kepada pembatas lain)