У меня есть таблица Sqlite DB (тест), которая выглядит как пример:
User Score
Пользователь выглядит как Пользователь1, Пользователь2 ... Пользователь 20
Счет - целое число.
Пример:
User1 204
User2 5555
User6 102
etc.
Как можно выбрать, скажем, 3 верхних значения для каждого существующего пользователя, упорядоченного по счету?Например:
User1 4344
User1 4000
User1 2330
User2 2300
User2 1000
User2 300
User3 555
User3 100
User3 10
User4 2033
...
Это дает мне только топ 3 всех пользователей.
SELECT user, score FROM test ORDER BY score DESC limit 3
Это дает мне всех пользователей, но только одно верхнее значение.
SELECT user, score FROM test GROUP BY user ORDER BY score DESC
Единственное решение, которое я нашел до сих пор, - это добавить всех пользователей в список и использовать цикл (я работаю с Python).Каждый раз анализируется один пользователь.Но мне любопытно, можно ли это сделать без цикла и только с помощью Sqlite?