USER
テーブルはuserId
とpoint
のフィールドを持っています。実行時に、特定のユーザーベースのランキングが何であるかを知りたい。これを達成する最良の方法は何ですか:
1:すべてのユーザーにリストを照会します。ポイントベースのリストベースをソートし、バイナリ検索を実行してそのユーザのランキングを見つけます。ここの悪い考えのように聞こえる。
2:データベースクエリを作成してこれらのタスクを実行できますか?ランキングシステムの良いデザインは何ですか
私は2000〜5000人のユーザーを期待しています。
私はあなたがこれを再解釈する必要があると思います。あなたのシステムで「ランク」とは何を定義していますか? –
@Peter:ランクは、ユーザーリストのユーザーエントリの「ポイント」による番号です。 – Vlad
@Harry:おそらく 'select rn from(userからのrnとしてpoint descで順番にuserId、point、row_number()を選んでください)のようなものです。userId =" whatever ";'? (私はSQLの構文ではあまりよくありません) – Vlad