展开GROUP BY和HAVING结果集

the*_*963 1 mysql group-by having

有没有办法扩展/获取GROUP BYHAVING查询的所有记录?

例如,

SELECT Column1, Column2, Column3, Count(*) as Count FROM table_name
GROUP BY Column1, Column2, Column3
HAVING Count > '2'
Run Code Online (Sandbox Code Playgroud)

是否有更简单的方法来获取所有记录,而不是通过结果集并SELECT * FROM table_name WHERE Column1 = 'this' AND Column2 = 'that' AND Column3 = 'more'为每条记录执行操作.

如果由于mysql或其他一些限制无法完成,还有其他方法可以获取query上面的所有数据吗?

通过展开/获取所有记录,我的意思是如果结果集是

Value1 Value2 Value3 4
Run Code Online (Sandbox Code Playgroud)

我希望能够获得所有4条记录.

Jac*_*cob 5

你的意思是这样的:

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
Run Code Online (Sandbox Code Playgroud)

这基本上就是你在问题中所描述的但是在a JOIN.