按COUNT(*)过滤?
问题描述:
是否可以对结果进行分组,然后根据组中有多少行进行过滤?按COUNT(*)过滤?
事情是这样的:
SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY name
答
你要使用具有对聚合函数进行筛选。
SELECT name, COUNT(*)
FROM mytable
GROUP BY name
HAVING COUNT(*) > 1
答
您需要使用HAVING
SELECT * FROM mytable GROUP BY name HAVING COUNT(*) > 1
虽然SELECT *
不会使当你分组太大的意义。我认为它只是一个在你的查询为例
答
用途:
SELECT * FROM mytable GROUP BY name having COUNT(*) > 1
答
你想要一个HAVING子句。
SELECT *
FROM mytable
GROUP BY name
HAVING COUNT(*) > 1
SUPERSTAR!正要测试它! – DonutReply 2011-04-14 13:38:32
而且HAVING子句也必须在ORDER BY之前。 – randalv 2013-12-30 19:49:31