У меня есть база данных большого количества пользователей, которые регистрируют, где они живут и сколько раз они заходили на сайт. Я ищу наиболее активных пользователей в каждом городе.
Я знаю, как найти одного наиболее активного пользователя в каждом городе:
select user_id, city, max(login_count)
from user
group by city
Но было бы очень полезно найти 10 самых активных пользователей для каждого города. Или даже, что более полезно, но я подозреваю, что, возможно, это невозможно в SQL, верхние 10% с точки зрения активности.
Если бы кто-нибудь мог дать представление о том, как выполнить одну или обе задачи, я был бы очень признателен.
Я использую Navicat для подключения к серверу MySQL для этой задачи.