简单的mysql用户根据视图排名

时间:2015-03-13 12:56:06

标签: php mysql

我有这个问题:

$users = $cachedb->get_results(
                               "SELECT id,name,avatar,views 
                                FROM ".DB_PREFIX."users 
                                WHERE ".DB_PREFIX."users.group_id = '5' 
                                ORDER by views DESC ".this_limit());

它显示了我的用户列表。

如何根据视图为每个用户添加排名?

1 个答案:

答案 0 :(得分:0)

我认为以下查询可以满足您的需求。我还没有测试过它:

SELECT @rownum := @rownum + 1 AS rownum
, id, name, avatar, views
FROM users
, (SELECT @rownum := 0) AS dummy
WHERE users.group_id = 5
ORDER BY views DESC

这里的魔法在虚拟表中。它会在运行实际选择之前创建变量并初始化其内容。然后在选择操作期间,此变量会递增并显示。