Сравнение групп SQL друг с другом

Как можно отфильтровать сгруппированный набор результатов только для тех групп, которые соответствуют некоторому критерию по сравнению с другими группами? Например, только те группы, которые имеют максимальное количество составляющих записей?

Я думал, что следующий подзапрос должен помочь:

SELECT * FROM (
    SELECT   *, COUNT(*) AS Records
    FROM     T
    GROUP BY X
) t HAVING Records = MAX(Records);

Однако добавление последнего предложения HAVINGприводит к пустому набору записей... что происходит?

5
задан eggyal 27 March 2012 в 13:27
поделиться