我有我的mysql表posts
,其中我的论坛的所有帖子都存储。这是这样的:MySQL - 按count()和GROUP BY排序
id uid thread post title text time
(int) (int) (varchar) (int) (varchar) (text) (int)
现在我想显示用户配置文件的排名(职位数量的排名)。我试过这样的事情:
set @rownum := 0;
SELECT @rownum := @rownum + 1 AS rank, uid, count(id)
FROM `posts` GROUP BY uid ORDER BY count(id)
但它返回不正确的数据。 uid和count(id)匹配,但排名错误。 我的条目是这样的:
rank uid count(id)
1 1 214
我的用户1,和我有214发的帖子,但不是以秩1 还有像其他条目:
rank uid count(id)
8 22 674
我怎样才能得到查询排列正确的排名?
这就是'ORDER BY count(id)DESC'吧? – mellamokb 2012-04-23 18:52:18
@mellamokb它不适用于DESC和ASC – ninov 2012-04-23 18:58:14
不确定你的意思? – mellamokb 2012-04-23 19:02:40