2

有没有办法扩展/获取 aGROUP 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

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

4

1 回答 1

7

你的意思是这样的:

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.

于 2011-08-23T17:53:00.207 回答