SELECT *
FROM
(
SELECT t1.*,
RANK() OVER(ORDER BY cnt DESC PARTITION BY city) AS rn2
FROM
(
SELECT city, hobby, COUNT(hobby) AS cnt
FROM table
GROUP BY city, hobby
) AS t1
ORDER BY city, cnt DESC
) AS t1
WHERE rn2=1
Вот очень приблизительное решение, показывающее в каком направлении думать. Без конкретного примера с тестовыми данными задача мне все равно до конца непонятна.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.