按COUNT(*)过滤?

时间:2011-04-14 13:36:35

标签: mysql sql

是否可以对结果进行分组,然后根据组中的行数进行过滤?

这样的事情:

SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY name

4 个答案:

答案 0 :(得分:67)

您想使用HAVING过滤聚合函数。

SELECT name, COUNT(*)
    FROM mytable
    GROUP BY name
    HAVING COUNT(*) > 1

答案 1 :(得分:14)

您需要使用HAVING

SELECT * FROM mytable GROUP BY name HAVING COUNT(*) > 1

虽然,SELECT *在分组时没有多大意义。我认为这只是一个例子

答案 2 :(得分:3)

你想要一个HAVING子句。

SELECT *
FROM mytable
GROUP BY name
HAVING COUNT(*) > 1

答案 3 :(得分:2)

在查询中使用:

SELECT * FROM mytable GROUP BY name having COUNT(*) > 1