Как можно отфильтровать сгруппированный набор результатов только для тех групп, которые соответствуют некоторому критерию по сравнению с другими группами? Например, только те группы, которые имеют максимальное количество составляющих записей?
Я думал, что следующий подзапрос должен помочь:
SELECT * FROM (
SELECT *, COUNT(*) AS Records
FROM T
GROUP BY X
) t HAVING Records = MAX(Records);
Однако добавление последнего предложения HAVING
приводит к пустому набору записей... что происходит?