1

像那样:

COUNT(i.t_1) AS total_images
WHERE total_images > 2

引发错误:

Unknown column "total_images" in where clause

如果这样:

WHERE COUNT(i.t_1) > 2

引发错误:

Invalid use of group function

如何以正确的方式做到这一点?

如果需要,我会发布完整的声明。

此查询的含义是选择在连接(图像)表中具有最多照片的 1 个广告。

谢谢 ;)

4

2 回答 2

1

WHERE 子句只能用于逐行过滤表/派生表中的行。要根据聚合结果进行过滤,您需要使用 HAVING 而不是 WHERE:

HAVING COUNT(i.t_1) > 2
于 2010-10-23T10:59:44.853 回答
0

如果您真的只是在寻找“包含最多照片的 1 个广告”,您可能需要以下内容:

select i.t_1,count(*) n ... group by i.t_1 order by n desc limit 1

于 2010-10-23T11:37:08.973 回答