2010-09-30 31 views
-1

我在這裏提出質疑: How make this sql. (conditions sql)RE:如何讓這個sql。 (條件SQL)

,但現在,我想

SELECT SUM(Post.rating) as countRating <--- THIS i want Post.rating * 5 WHEN Post.recommended = 1 
FROM posts as Post 
ORDER BY countRating DESC 

幫我

+2

SO的意圖之一就是幫助你學會思考。你需要冥想先前給你的答案,看看它們如何應用於新的情況。 – 2010-09-30 05:15:49

+0

,因爲我永遠不會使用這個。對不起 – meotimdihia 2010-09-30 05:24:08

回答

2

基本上,使用相同的技術,因爲在回答其他問題 - 使用CASE表達式,這次是在SUM中而不是在ORDER BY子句中。

SELECT SUM(CASE Recommended WHEN 1 THEN 5 ELSE 1 END * Rating) AS countRating 
    FROM posts as Post 
ORDER BY countRating DESC 

如果對所推薦的替代值是0(一個合理的猜測),那麼你也可以寫:

SELECT SUM((4 * Recommended + 1) * Rating) AS countRating 
    FROM posts as Post 
ORDER BY countRating DESC 

而且,事實上,你可以在做同樣的ORDER BY子句先前的問題。

+0

非常感謝^^,我無法接受你的問題,因爲系統不允許,它提醒「你可以在6分鐘內接受答案」。我會接受我何時回到這裏 – meotimdihia 2010-09-30 05:18:14