SUM(value)
各 の投票数を計算する がありますが、これは各アイデアが持つことができる のidea
量の影響を受けます。tag
例えば、
SELECT
id,
title,
description,
COALESCE(SUM(case when value > 0 then value end),0) votes_up,
COALESCE(SUM(case when value < 0 then value end),0) votes_down,
GROUP_CONCAT(DISTINCT tags.name) AS 'tags',
FROM ideas
LEFT JOIN votes ON ideas.id = votes.idea_id
LEFT JOIN tags_rel ON ideas.id = tags_rel.idea_id
LEFT JOIN tags ON tags_rel.tag_id = tags.id
GROUP BY ideas.id
したがって、 が複数ある場合tags.name
、SUM()
は の数で乗算されます。tags.name
どうすればこれを修正できますか?