我有一個內容項目表結構類似於MySQL查詢設計 - 計算表決分數多個內容項
| contentid | message | categoryid | userid | dateadded | etc..
15 foo bar 3 4 somedate
16 more foo bar 3 4 somedate
16 foo stuff 3 4 somedate
和票表,其中方向= 1 =向上投票,和= 2是一個向下投票。
| voteid | contentid | userid | direction | dateadded
7 15 4 1 some date
8 15 6 1 some date
9 15 17 2 some date
而且我想選擇一組內容項,對用其計算出的得分結束基於投票表中投票的附加列。
以前,我不得不附加到內容表中的「成績」一欄,每個表決的施法時間,它會更新其分數。這樣做,我不必有一個更復雜的查詢來計算每個SELECT的分數,但我想現在就改變它。
這票表設計前一段時間,因此,如果所有的票值變化比其他東西1或2(或許-1的downvote)會更容易,我會更新整個表。
該查詢將拉取所有內容項目,每個項目都有計算列中的分數?
謝謝喬。如果我在WHERE子句中使用這個新的'Votes'計算列,它會抱怨它不知道'Votes'是什麼(例如選擇大於-3的內容)。在這裏聲明之後,我如何參考計算列? – barfoon
@Barfoon:你會用'HAVING'子句測試它。我會更新答案。 –
謝謝。在這種情況下,你必須執行兩次「SUM」? – barfoon