文章詳情頁
mysql - 如何在sql語句里寫兩個不同條件的SUM 并求出二者的差
瀏覽:115日期: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. sql語句 - 如何在mysql中批量添加用戶?2. 怎么php怎么通過數組顯示sql查詢結果呢,查詢結果有多條,如圖。3. 老師們php,插入數據庫mysql,都是空的,要怎么解決4. 求大神支招,php怎么操作在一個html文件的<head>標記內添加內容?5. php點贊一天一次怎么實現6. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?7. PHP類屬性聲明?8. 致命錯誤: Class ’appfacadeTest’ not found9. phpstady在win10上運行10. 在應用配置文件 app.php 中找不到’route_check_cache’配置項
排行榜
