我希望获得count(AID)>5
的所有行
当我执行查询时:
SELECT x,y,z, COUNT(AID) as total from Table where ... Having total >5
返回total > 5
分组的行!但不是所有的行!
我想要每一行..
答案 0 :(得分:3)
这不是聚合查询的工作方式。计数在一系列记录中完成(无论哪个符合WHERE
子句的条件),然后HAVING
子句筛选出计数小于5的任何记录。如果您想要特定的行,你可以尝试像
select * from
`Table`,
(SELECT x,y,z, COUNT(AID) as total
from `Table`
where /* Some condition goes here */
Having total >5) subqry
where subqry.x = Table.x
and subqry.Y = Table.Y
and subqry.Z = Table.Z
...当然,这假设x,y,z
是Table
的唯一键。如果不是这种情况,那么这种方法可能无效。
另外,你错过了group by
条款吗?