【发布时间】:2012-07-18 16:11:47
【问题描述】:
我发现了一堆类似的问题,但对我没有任何帮助,或者我太愚蠢了,无法正确解决问题。 如果我使用 COUNT(DISTINCT visits.id),访问计数工作正常,但投票计数完全错误 - 它显示的值比应有的值大 3 到 4 倍。
这就是查询
SELECT SUM(votes.rating), COUNT(visits.id)
FROM topics
LEFT JOIN visits ON ( visits.content_id = topics.id )
LEFT JOIN votes ON ( votes.content_id = topics.id )
WHERE topics.id='1'
GROUP BY topics.id
votes 表如下所示
id int(11) | rating tinyint(4) | content_id int(11) | uid int(11)
访问表
id int(11) | content_id int(11) | uid int(11)
主题表格
id int(11) | name varchar(128) | message varchar(512) | uid int(11)
帮助?
【问题讨论】:
-
不相关,但您应该使用
WHERE topics.id=1而不是='1',因为id是一个int 列。