我有这个条款:
SELECT count(*) FROM imagetags
INNER JOIN userimages ON imagetags.imageid = userimages.id
WHERE privacy='public'
&& (tag='cars' || description LIKE '%cars%' || title LIKE '%cars%')
GROUP BY imageid
我想从两个表(imagetags、userimages)中搜索所有可能的位置(标签、描述、标题)以查找“汽车”,并返回产生它们的图像数量(基本上是行)。
问题是,如果在其中两个或多个地方成功,count 会返回重复的结果。例如。如果同一图片的标签和描述中有汽车,则计数 = 2 而不是 1。如果我执行 SELECT imageid(...),则不会发生这种情况。在我看来,GROUP BY 并没有像 count 那样工作,有什么建议吗?