可能重复:
MySQL 在 ORDER BY 中获取行位置
我有一个用户表,我想按名为 Crown 的列对它们进行排序。然后我想找出它们在列表中的位置,但不完全确定如何去做。我试过用谷歌搜索它,但不完全确定要输入什么。(Crown 有 INT 输入。)
所以我有第一行:
mysql_query("SELECT * FROM users ORDER by crown DESC");
然后,在按皇冠订购时,我如何找出用户在列表中的位置?
提前致谢。
可能重复:
MySQL 在 ORDER BY 中获取行位置
我有一个用户表,我想按名为 Crown 的列对它们进行排序。然后我想找出它们在列表中的位置,但不完全确定如何去做。我试过用谷歌搜索它,但不完全确定要输入什么。(Crown 有 INT 输入。)
所以我有第一行:
mysql_query("SELECT * FROM users ORDER by crown DESC");
然后,在按皇冠订购时,我如何找出用户在列表中的位置?
提前致谢。
我会做这样的事情,假设你可以得到用户的皇冠价值。
SELECT `user_var_you_want`,
(SELECT COUNT(*) FROM `users` WHERE `crown` > $user_crown_value)+1 AS `position`
FROM `users`
WHERE `user_var_you_want` = $search_value
或者,如果您无法获得他们的皇冠价值:
SELECT `user_var_you_want`,
(SELECT COUNT(*) FROM `users` WHERE `crown` > (SELECT `crown` from `users` WHERE `user_var_you_want` = $search_value)+1) AS `position`
FROM `users`
WHERE `user_var_you_want` = $search_value