文章詳情頁
mysql - 如何在sql語句里寫兩個不同條件的SUM 并求出二者的差
瀏覽:123日期: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. bootstrp是col-md-12列的,只有col-md-10有內容,可以讓沒有內容的不占據位置嗎;2. python - Fiddler+Android模擬器抓取app,json數據被加密了,如何解析?3. thinkPHP5中獲取數據庫數據后默認選中下拉框的值,傳遞到后臺消失不見。有圖有代碼,希望有人幫忙4. java - 如何用圖畫的方式有效地表示多線程?5. wordpress里,這樣的目錄列表是屬于小工具還是啥?6. MySQL 使用 group by 之后然后 IFNULL(COUNT(*),0) 為什么還是會獲得 null7. 百度地圖 - Android app中準備接入地圖sdk,百度VS高德哪個好一點?8. python 3.4 error: Microsoft Visual C++ 10.0 is required9. 我的怎么不顯示啊,話說有沒有QQ群什么的10. 常量在外面不加引號會報錯。
排行榜
