Determine el rango basado en múltiples columnas en MySQL
Tengo una tabla que tiene 3 campos, quiero clasificar la columna según user_id y game_id.
Aquí está el violín de SQL:http: //sqlfiddle.com/#! 9 / 883e9d / 1
la mesa ya tengo:
user_id | game_id | game_detial_sum |
--------|---------|--------------------|
6 | 10 | 1000 |
6 | 11 | 260 |
7 | 10 | 1200 |
7 | 11 | 500 |
7 | 12 | 360 |
7 | 13 | 50 |
Rendimiento esperado
user_id | game_id | game_detial_sum | user_game_rank |
--------|---------|--------------------|------------------|
6 | 10 | 1000 | 1 |
6 | 11 | 260 | 2 |
7 | 10 | 1200 | 1 |
7 | 11 | 500 | 2 |
7 | 12 | 360 | 3 |
7 | 13 | 50 | 4 |
Mis esfuerzos hasta ahora:
SET @s := 0;
SELECT user_id,game_id,game_detail,
CASE WHEN user_id = user_id THEN (@s:=@s+1)
ELSE @s = 0
END As user_game_rank
FROM game_logs
Editar (De OP Comentarios): El pedido se basa en el orden descendente degame_detail
order of game_detail