我试图执行以下查询如何在Q&使用MySQL查询
SELECT a.userid, COUNT(a.id) AS count_answers, SUM(v.yes_vote) as total_up_votes, SUM(v.all_vote - v.yes_vote) as total_down_votes, CAST(COUNT(a.id) + SUM(v.yes_vote) * 4 - SUM(v.all_vote) AS SIGNED) AS voting_points
FROM (answers a)
LEFT OUTER JOIN answers_vote_count v ON r.id = v.answer_id
GROUP BY a.userid
ORDER BY count_answers DESC
正如你可以看到一个网站计算投票点的,我试图来计算回答收到的点接收。
点的计算一样 -
- 1点每一个答案 - COUNT(答案)
- 3点在回答每一个高达票 - 3 * SUM(yes_vote)
- (-1)点每下降票 - SUM(all_vote) - SUM(yes_vote)
我的问题是 - 如果答案不具有up_vote和down_vote,点出来为NULL。 COUNT(答案)部分无法正常工作。
什么我做错了在这里?
Regards
使用'IFNULL'话,很方便;-) – zerkms 2010-10-13 05:41:56
@zerkms - 谢谢。将使用该。 – vikmalhotra 2010-10-13 06:48:26