假設user表
select * from user group by user.group 出來的資料只有2條,而不是user.group 為admin的一組,user.group 為user 的為一組
select * from user group by user.group
user.group
admin
user
求解,mysql 怎麼把陣列分組?感覺蠻多地方需要用到分組。
mysql
认证高级PHP讲师
沒有看太懂你的意思,用 group by user.group 就會出現2條,因為你的資料裡只有 admin 和 user 兩種 group 資料。
group by user.group
2
group
分組 是需要結合 count, sum 等統計方法使用的。
分組
count
sum
如果你要的是admin的資料在一起,user 的資料在一起,那就直接 order by user.group 就好了
order by user.group
用GROUP BY子句的話,如果只有一個條件的話,只按照該條件滿足的所有唯一值,一個為一條數據。對於GROUP BY user.group,你只有兩種唯一值:user和admin,所以只會有兩個資料。
GROUP BY
GROUP BY user.group
如果你想將相同user.group的資料放在一起,正如樓上所說,直接使用排序即可。
如果你想要相同的user.group合併成一行且不遺失user.name數據,可以使用GROUP_CONCAT()函數,將所有群組內的name合併成逗號分隔的字串(函數,將所有群組內的
user.name
GROUP_CONCAT()
name
SELECT *, GROUP_CONCAT(user.name) FROM user GROUP BY user.group
沒有看太懂你的意思,用
group by user.group
就會出現2
條,因為你的資料裡只有admin
和user
兩種group
資料。分組
是需要結合count
,sum
等統計方法使用的。如果你要的是
admin
的資料在一起,user
的資料在一起,那就直接order by user.group
就好了用
GROUP BY
子句的話,如果只有一個條件的話,只按照該條件滿足的所有唯一值,一個為一條數據。對於GROUP BY user.group
,你只有兩種唯一值:user
和admin
,所以只會有兩個資料。如果你想將相同
user.group
的資料放在一起,正如樓上所說,直接使用排序即可。如果你想要相同的
name🎜合併成逗號分隔的字串(函數,將所有群組內的🎜name🎜合併成逗號分隔的字串(函數,將所有群組內的🎜name🎜合併成逗號分隔的字串(函數,將所有群組內的🎜name🎜合併成逗號分隔的字串(函數當然可以改成其他分隔符號)🎜user.group
合併成一行且不遺失user.name
數據,可以使用GROUP_CONCAT()
函數,將所有群組內的name
合併成逗號分隔的字串(函數,將所有群組內的