私は似たような質問をたくさん見つけましたが、何もうまくいきませんでした。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
投票表はこんな感じ
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)
ヘルプ?