Раскройте набор результатов GROUP BY и HAVING - PullRequest
1 голос
/ 23 августа 2011

Есть ли способ развернуть / получить все записи запроса GROUP BY и HAVING?

Например,

SELECT Column1, Column2, Column3, Count(*) as Count FROM table_name
GROUP BY Column1, Column2, Column3
HAVING Count > '2'

Есть ли более простой способ получитьвсе записи вместо прохождения набора результатов и выполнения SELECT * FROM table_name WHERE Column1 = 'this' AND Column2 = 'that' AND Column3 = 'more' для каждой записи.

Если это невозможно сделать из-за mysql или других ограничений, есть ли другой способ получить все данные для query выше?

Под расширением / получением всех записей я подразумеваю, если набор результатов будет

Value1 Value2 Value3 4

Я хочу иметь возможность получить все 4 записи.

1 Ответ

5 голосов
/ 23 августа 2011

Вы имеете в виду что-то вроде этого:

SELECT a.*, b.Count
FROM table_name AS a
INNER JOIN (
    SELECT Column1, Column2, Column3, Count(*) as Count FROM table_name
    GROUP BY Column1, Column2, Column3
    HAVING Count > '2'
) b
ON a.Column1 = b.Column1 AND a.Column2 = b.Column2 AND a.Column3 = b.Column3

Это в основном то, что вы описали в своем вопросе, но в JOIN.

...