文章詳情頁
mysql - 如何在sql語句里寫兩個不同條件的SUM 并求出二者的差
瀏覽:129日期: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)
上一條:【mysql】this is incompatible with sql_mode=only_full_group_by下一條:javascript - mysql插入數據時怎樣避免與庫中的數據重復?
相關文章:
1. javascript - 在靜態頁面上用load 引入的頁面文件問題?2. 代理 - 一個nginx需求,訪問web服務時,若用戶為測試用戶則轉發到web服務的測試版本3. javascript - webpack打包后的bundlejs文件代碼不知道什么意思.4. java后臺導出頁面到pdf5. java - instance method中 static后的<K>是什么意思?6. css3 - css如何實現素描描邊效果7. css - 關于ul的布局8. css - 如何使用 vue transition 實現 ios 按鈕一樣的平滑切換效果9. javascript - vue組件通過eventBus通信時,報錯a.$on is not a function10. html - 哪些情況下float會失效?
排行榜
