扩展GROUP BY和HAVING结果集

3
有没有一种方法可以扩展/获取所有GROUP BYHAVING查询的记录?
例如,
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

我希望能够获取所有的四条记录。


1
你的“扩展/获取所有记录”是什么意思? - Jacob
他正在努力解释 - Waiting for Dev...
1个回答

8

您的意思是这样吗:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接