我有这个代码来计算一个主题中的回复数量,
$sql = mysql_query("SELECT count(*) FROM ".prefix."REPLY WHERE TOPIC_ID = '$t' AND R_AUTHOR = '$m' ".$Open_SQL." ") or die(mysql_error());
$Count = mysql_result($sql, 0, "count(*)");
if ($Count > 0) {
$Count = $Count;
}
else {
$Count = "";
}
return($Count);
mysql_free_result($sql);
}
它显示结果很好,我需要的是在DESC中订购此结果。
有什么建议吗?
答案 0 :(得分:2)
您只是选择Count(*)
,这意味着无需排序,因为您将获得一个包含count
的dataRow。
你可能想要做的是添加一个GROUP BY
- 子句并选择不同的东西并按计数排序:
table
user | type
1 apple
2 apple
3 cherry
使用这样的表格,您可以按类型分组并稍后对樱桃/苹果计数进行排序。
SELECT count(*) AS c, type FROM table GROUP BY type ORDER by c DESC/ASC
结果:
c | type
2 apple
1 cherry
但如果没有GROUP BY
,它只会返回总计数:3
- 当然不能进行排序。
答案 1 :(得分:0)
SELECT some-field, count(*) as count
FROM your-table
WHERE your-clauses
AND more-clauses
GROUP BY some-field
ORDER BY some-field desc