Итак, я перебрал все вопросы по тегу "наибольшие числа на группу", и либо я не понимаю, что я читаю, либо ничего не соответствует моим потребностям. Эта ссылка также предоставила много полезной информации, но ответа до сих пор нет.
Итак, у меня есть таблица со следующими полями:
- id (уникальный int)
- user_id (int)
- категория (варчар)
- оценка (int)
- проценты (int)
Я полагаю, что моя проблема отклоняется от общего вопроса о наибольшем n-на-группе, поскольку мне не нужен самый большой N для в каждой группе. Мне нужны самые большие N записей для X групп.
Итак, мне нужно получить X категорий с наибольшим интересом (простой, категория GROUP BY, ORDER BY интереса, LIMIT X). И тогда мне нужно получить N записей с наибольшим количеством баллов для каждой из этих категорий.
Как мой запрос будет выглядеть примерно так?
Извините, если это действительно дубликат каждого другого вопроса, посвященного величайшим группам, и я просто не понимаю, как они работают. Не стесняйтесь закрыть это, если так.
Обновление:
По подталкиванию @ tehshrike, вот немного больше информации.
На самом деле происходит то, что у моего пользователя есть interest
во множестве разных categories
. Я хотел бы создать список пользователей с наибольшим значением score
в categories
, что у исходного пользователя interested
в.
Итак, одна из возможных вещей, которую я ищу, это:
15 пользователей с самым высоким score
в 4 categories
, что пользователь 1 является самым interested
в.
Для определенного user_id найдите Лучшие X категорий (с наибольшим интересом для этого конкретного пользователя), а для этих (X категорий) найдите Лучшие N пользователей (с наибольшим количеством баллов для этих категорий).