您的位置:首頁技術文章
文章詳情頁

mysql - 如何在sql語句里寫兩個不同條件的SUM 并求出二者的差

瀏覽:101日期:2022-06-12 11:28:33

問題描述

我業務上用的表是用戶的積分日志表,字段是用戶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)

相關文章:
国产综合久久一区二区三区