У меня есть такая таблица:
users
:
| username | statistics |
----------- ---------------------------------------
0 | peter200 | { "gamesWon": 4, "gamesPlayed" : 4} |
1 | eminem33 | { "gamesWon": 7, "gamesPlayed" : 20} |
Примечание: (статистика = "JSON")
И я хотел бы создать рейтинг-лист.
Таким образом, пользователь с наибольшим номером в statistics. gamesWon
получает ранг numero uno 1
и т. Д.
Что у меня получилосьдалеко что-то вроде этого (что именно работает, как я надеялся):
SELECT username, statistics, @rank := @rank + 1 AS rank
FROM users, (SELECT @rank := 0) r
WHERE JSON_EXTRACT(statistics, '$.gamesWon')
ORDER BY JSON_EXTRACT(statistics, '$.gamesWon') DESC
Итак, на мой вопрос: Теперь я хотел бы обновить запрос свыше, чтобы просто получить информацию в определенном ранг-индексе (скажем, от ранга 2 до ранга 10) .
Добавление AND rank > 2 AND rank < 10
к WHERE clause
, похоже, не являетсярабочий раствор.Так что любая помощь будет очень признательна.