我有一个用户表,我想通过名为crown的列来订购它们。然后我想知道它们在列表中的位置,但不完全确定如何做到这一点。我曾试图谷歌它,但不完全确定输入什么。(皇冠有INT输入。)
所以我有第一行:
mysql_query("SELECT * FROM users ORDER by crown DESC");
如何在皇冠订购时找出用户在列表中的位置?
提前致谢。
答案 0 :(得分:0)
我会做这样的事情,假设你可以获得用户的皇冠价值。
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