文章詳情頁
mysql - 如何在sql語句里寫兩個(gè)不同條件的SUM 并求出二者的差
瀏覽:183日期:2022-06-12 11:28:33
問題描述
我業(yè)務(wù)上用的表是用戶的積分日志表,字段是用戶id,分?jǐn)?shù)類型(加為1減為2),積分,時(shí)間戳我需要算出用戶每天的總積分是多少我最初是分別sum出加分和減分,然后在后端程序里循環(huán)數(shù)組求差,這樣效率極低,我想在sql語句寫出了,怎么寫呢?用case then報(bào)錯(cuò)
SUM(CASE type=1 THEN `score` ELSE 0-`score`)
問題解答
回答1:應(yīng)該是:
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插入數(shù)據(jù)時(shí)怎樣避免與庫中的數(shù)據(jù)重復(fù)?
相關(guān)文章:
1. boot2docker無法啟動(dòng)2. java - SSH框架中寫分頁時(shí)service層中不能注入分頁類3. 關(guān)于docker下的nginx壓力測試4. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.5. docker-compose中volumes的問題6. java - Spring事務(wù)回滾問題7. node.js - antdesign怎么集合react-redux對input控件進(jìn)行初始化賦值8. 老師,按tab鍵不起作用怎么回事9. docker - 如何修改運(yùn)行中容器的配置10. mac里的docker如何命令行開啟呢?
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備