我有这个问题:
$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());
它显示了我的用户列表。
如何根据视图为每个用户添加排名?
答案 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
这里的魔法在虚拟表中。它会在运行实际选择之前创建变量并初始化其内容。然后在选择操作期间,此变量会递增并显示。