mysql - 如何在sql語句裡寫兩個不同條件的SUM 並求出二者的差
阿神
阿神 2017-05-24 11:33:10
0
1
787

我業務上用的表是使用者的積分日誌表,欄位是使用者id,分數類型(加為1減為2),積分,時間戳
我需要算出使用者每天的總積分是多少
我原本是分別sum出加分減分,然後在後端程式裡循環數組求差,這樣效率極低,我想在sql語句寫出了,怎麼寫呢?用case then報錯誤

SUM(CASE type=1 THEN `score` ELSE 0-`score`)
阿神
阿神

闭关修行中......

全部回覆(1)
洪涛

應該是:

SUM(IF(type = 1, score, -score))

或寫得囉嗦點:

SUM(CASE WHEN type = 1 THEN score ELSE -score END)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板