Как определить каких значений больше всего в столбце?
Есть данные таблицы, как сделать запрос, чтобы узнать какое id повторяется больше количество раз. Например я хочу узнать user_id каких у него большего всего castle_id. Если я беру user_id =9 то хочу получать castle_id = 1.
И во втором запросе узнать Count rivalCastle_id = 2
Другие запросы получал через session.createQuery.
Не могу понять как составить запрос.
Я пытался таким запросом, но я хочу чтобы бы выдавало только castle_id в первом запросе, а в другом totalCount.Как разделить запрос на 2 части?

Ответы (1 шт):
Автор решения: Глеб Альшевский
→ Ссылка
SELECT castle_id
FROM heroes3_statistic.games
WHERE user_id = 9
GROUP BY castle_id
HAVING COUNT(castle_id) =
(
SELECT COUNT(castle_id) totalCount
FROM heroes3_statistic.games
WHERE user_id = 9
GROUP BY castle_id
ORDER BY totalCount DESC
LIMIT 1
);
