Rumah > Soal Jawab > teks badan
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.
伊谢尔伦2017-07-04 13:45:47
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 mahukanadmin
的数据在一起,user
的数据在一起,那就直接 order by user.group
Itu sahaja
扔个三星炸死你2017-07-04 13:45:47
Gunakan 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 data user.name
, anda boleh menggunakan fungsi GROUP_CONCAT()
untuk menggabungkan name< dalam semua kumpulan /kod>Digabungkan menjadi rentetan yang dipisahkan koma (sudah tentu ia boleh ditukar kepada pembatas lain)
SELECT *, GROUP_CONCAT(user.name) FROM user GROUP BY user.group