MySQL ORDER BY COUNT()?

Jak*_*ako 10 mysql sql-order-by

我的数据库中有一个表设置这个结构(http://cl.ly/3D1D3m1O0v3d0x2j0Z0E)

我通过while循环运行查询,我想按prof列的计数排序.

这是我的查询目前的样子,虽然我不断收到错误.

$order_list = mysql_query("
    SELECT COUNT(prof), 
    FROM prof_rating 
    ORDER BY COUNT(prof) ASC");
Run Code Online (Sandbox Code Playgroud)

这是我不断得到的警告.

警告:mysql_fetch_assoc()期望参数1是资源,布尔值在

Bil*_*win 15

对于它的价值,在select-list中使用聚合函数意味着结果集只有一行.使用单行对结果集进行排序几乎没有意义.

如果您想获得每个不同教授值的评分计数,您应该使用:

$order_list = mysql_query("
    SELECT prof, COUNT(*) AS PROFCOUNT, 
    FROM prof_rating 
    GROUP BY prof
    ORDER BY PROFCOUNT ASC'");
Run Code Online (Sandbox Code Playgroud)

这将输出多行,每个prof值一行,每个给定的prof值的行数.


Joh*_*0te 6

别名列名称,然后将其放在您的订单子句:)

$order_list = mysql_query("
SELECT COUNT(prof) AS PROFCOUNT, 
FROM prof_rating 
ORDER BY PROFCOUNT ASC'");
Run Code Online (Sandbox Code Playgroud)