我發現了一堆類似的問題,但沒有爲我工作,或者我太愚蠢以至於無法正確地做到這一點。 訪問計數工作正常,如果我使用COUNT(DISTINCT visits.id)但是然後投票計數完全錯誤 - 它顯示的值比應該大3到4倍。SQL SUM和COUNT返回錯誤的值
所以這是查詢
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
的票表看起來像這樣
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列。 – 2012-07-18 16:20:09