0

重複の可能性:
MySQLはORDERBYで行の位置を取得します

ユーザーのテーブルがあり、crownという名前の列で並べ替えたいと思います。それから私はそれらがリストのどこにあるかを知りたいと思いましたが、それを行う方法について完全にはわかりませんでした。私はそれをグーグルしようとしましたが、何を入力するかについて完全にはわかりません。(クラウンにはINT入力があります。)

だから私は最初の行を持っています:

mysql_query("SELECT * FROM users ORDER by crown DESC");

次に、クラウン順に並べ替えたときに、ユーザーがリストのどこにいるかを確認するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

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
于 2012-10-07T13:32:03.580 に答える