我的数据库中有一个使用此结构(http://cl.ly/3D1D3m1O0v3d0x2j0Z0E)
的表设置我通过while循环运行查询,我想按教程列的计数进行排序。
这是我的查询目前的样子,但我不断收到错误。
$order_list = mysql_query("
SELECT COUNT(prof),
FROM prof_rating
ORDER BY COUNT(prof) ASC");
这是我不断发出的警告。
警告:mysql_fetch_assoc()期望参数1是资源,布尔值在
中给出答案 0 :(得分:15)
对于它的价值,在select-list中使用聚合函数意味着结果集只有一行。用单行对结果集进行排序是没有意义的。
如果您想要获得每个不同教授值的评分计数,您应该使用:
$order_list = mysql_query("
SELECT prof, COUNT(*) AS PROFCOUNT,
FROM prof_rating
GROUP BY prof
ORDER BY PROFCOUNT ASC'");
这将输出多行,每个prof值一行,每个给定的prof值的行数。
答案 1 :(得分:6)
别名列名,然后将其放在您的order by子句中:)
$order_list = mysql_query("
SELECT COUNT(prof) AS PROFCOUNT,
FROM prof_rating
ORDER BY PROFCOUNT ASC'");