如果我有这样的表和数据:
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升序排列,这将首先显示最低计数。