我業務上用的表是使用者的積分日誌表,欄位是使用者id,分數類型(加為1減為2),積分,時間戳我需要算出使用者每天的總積分是多少我原本是分別sum出加分減分,然後在後端程式裡循環數組求差,這樣效率極低,我想在sql語句寫出了,怎麼寫呢?用case then報錯誤
SUM(CASE type=1 THEN `score` ELSE 0-`score`)
闭关修行中......
應該是:
SUM(IF(type = 1, score, -score))
或寫得囉嗦點:
SUM(CASE WHEN type = 1 THEN score ELSE -score END)
應該是:
或寫得囉嗦點: