我有一個SUM(value)
計算每個idea
的投票,但是這受到每個想法可以具有的數量tag
的影響。MySQL組通過影響其他組
例如,
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
我怎樣才能解決這個數乘以?
每隔DBMS會拒絕這種說法。閱讀http://rpbouman.blogspot.de/2007/05/debunking-group-by-myths.html和http://www.mysqlperformanceblog.com/2006/09/06/wrong-group-by-makes -your-queries-fragile /瞭解你的'group by'用法有什麼問題。 –