這裏是我的查詢到目前爲止:如何爲此查詢添加附加條件(使用CASE)?
SELECT
posts.title
, SUM(CASE comments.status WHEN 'approved' THEN 1 END) AS commentsCount
FROM posts
INNER JOIN comments
ON comments.postID = posts.id
WHERE
posts.status = ?
GROUP BY
posts.title
ORDER BY
commentsCount DESC
LIMIT 5
我需要把它也檢查comment.flagged
= 0時,它得到commentsCount
。我嘗試在SUM()
調用中添加其他CASE
s,但這導致了一個致命錯誤。我怎樣才能做到這一點?
謝謝!
我需要獲取已批准和懸掛本國國旗的專欄評論= 0,我想你的SQL,並得到這個錯誤信息:「您的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法使用近「當‘批准’WHERE posts.status =手動? GROUP BY posts.title令」 – 2009-09-08 17:41:20
你能解釋一下你實際上是試圖在你的問題來實現的,好嗎?用簡單的英語。例如,「我試圖獲得5個帖子最意見,其狀態爲‘已批准’」除與標記的一部分。 – 2009-09-08 17:47:45
除COUNT(*)外,此代碼正常工作。謝謝您的幫助! – 2009-09-08 17:54:03