ポイントとゲームIDを持つユーザーのリストがあります。私は、指定されたユーザーのランクを、ゲームオーダーに基づいてmax(lb_point)で見つける必要があります。条件付き条件に達するまでクエリの数を選択します。
個々のゲームに基づいてランクを取得するためのクエリは、次のように既に行っています。
select count(*) AS user_rank
from (
select distinct user_id
from leader_board
where lb_point >= (select max(lb_point)
from leader_board
where user_id = 1
and game_id = 2)
and game_id = 2
) t
しかし、私は全体のゲームに基づいてランクを見つける必要があります。例私は3つの異なるゲームを持っています(1,2,3)。 user_idを渡すことで、私は3つのゲームすべての中で彼の全体的なランクを見つける必要があります。これで私を助けてもらえますか?
lb_id user_id game_id lb_point
------------------------------------------------
1 1 2 670
2 1 1 200
3 1 2 650
4 1 1 400
5 3 2 700
6 4 2 450
7 2 1 550
8 2 1 100
9 1 1 200
10 2 1 100
11 1 1 200
12 2 1 100
13 1 1 200
14 2 1 100
15 1 1 200
16 2 1 100
17 1 1 200
18 2 1 100
19 1 1 200
20 2 1 100
21 1 1 200
22 2 1 800
User_IDの場合、最大ランク絶対値またはraknk frが各game_idに必要ですか?私に提供されたサンプルから期待される結果を示してください – scaisEdge