我有一个用户表,我想通过一个名为皇冠的列对它们进行排序。然后,我想知道他们在名单上的位置,但不完全确定如何做。我已经尝试谷歌它,但不完全确定输入什么。(皇冠有INT输入。)
所以我有第一句话:
mysql_query("SELECT * FROM users ORDER by crown DESC");然后,我将如何找出用户在列表中的位置,同时按皇冠排序?
提前谢谢。
发布于 2012-10-07 13:32:03
我会这样做,假设你能得到用户的冠值。
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_valuehttps://stackoverflow.com/questions/12769211
复制相似问题