如果我有这样的表格和数据:
ID | Name | Group
1 Apple A
2 Boy A
3 Cat B
4 Dog C
5 Elep C
6 Fish C
我希望按照 Group 的总和从小到大排序,例如: A-2 条记录,B-1 条记录,C-3 条记录,所以会变成:
3 Cat B
1 Apple A
2 Boy A
4 Dog C
5 Elep C
6 Fish C
我试过了
$sql = "SELECT ID,Name FROM table ORDER BY COUNT(Group)";
但它只为我返回一个结果。
有什么提示吗?谢谢。
最佳答案
您需要先聚合数据,这可以使用 GROUP BY 子句来完成:
SELECT Group, COUNT(*)
FROM table
GROUP BY Group
ORDER BY COUNT(*) DESC
DESC 关键字允许您首先显示最高计数,默认情况下 ORDER BY 以升序排列,这将首先显示最低计数。
https://stackoverflow.com/questions/9545637/