私はランク付けシステムを持っています。これはポイントに基づく結果です。MySQLのランク付けシステムのカスタムクエリ
User | Points
1 | 100
2 | 197
3 | 123
4 | 174
5 | 98
...
197 | 21
198 | 110
199 | 154
私のユーザIDが197であると仮定すると、その最初の私は自分のランクがベースまたはポイントは、最高点は、最初は、最低の最後では、ので、ここで想定するかを知りたいというのが私のランク(ユーザID = 197) #150
私のランクを取得した後(自分のランクがトップ100リストにない場合)、100人のユーザーのリストを取得したいところで、1位から50位のユーザー+ 125位から175位のユーザーを取得する必要があります私はこのリストで自分のランクを取得することもできますが、リストランクの結果は実際のランクになります
User | Points | Rank
18 | 199 | 1
22 | 198 | 2
31 | 180 | 3
19 | 174 | 4
51 | 168 | 5
+
17 | 22 | 149
197 | 21 | 150
199 | 14 | 151
私はアプリを持っていますPHPでは、この結果セットを達成するための最良かつ効率的な方法は何ですか?
彼らのランクのスコアを返すための全体的なクエリは次のようになります(または、私はそれが動作しますが、最もエレガントな解決策ではないかもしれないとして、「かもしれない」と言うべきです)
私たちはいつも新しいコーディング担当者をサポートしてくれることをうれしく思いますが、まずは自分自身を助ける必要があります。 : - )***あなたが問題を抱えている場合は** [**もっと研究をしています**](https://meta.stackoverflow.com/q/261592/1011527)**あなたが試したことを投稿してください** **動作していないことの明確な説明**を提供し、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を提供します。 [質問する](http://stackoverflow.com/help/how-to-ask)の良い質問をお読みください。 [ツアーに参加する](http://stackoverflow.com/tour)と[this](https://meta.stackoverflow.com/q/347937/1011527)を必ず読んでください。 –