請教一個(gè)mysql查詢的問題
問題描述
設(shè)一個(gè)表中記錄了用戶的積分變動,默認(rèn)為加
主鍵用戶id變動日期變動數(shù)值100012017-01-01 00:00:0010200022017-01-01 04:10:0020300012017-02-01 05:04:00400400012017-02-05 00:00:0010500022017-04-01 00:00:0030而我如果需要查出各用戶各時(shí)間段的資金變動總和,如下表所示
主鍵用戶id變動日期變動數(shù)值變動總和100012017-01-01 00:00:001010200022017-01-01 04:10:002020300012017-02-01 05:04:00400410400012017-02-05 00:00:0010420500022017-04-01 00:00:003050這種sql改如何書寫?我用的是mysql5.6,結(jié)果集順序沒有要求。
問題解答
回答1:select sum(變動數(shù)值) from table where 變動日期 >=yymmdd and 變動日期 <=yymmdd group by 用戶id
回答2:這樣的需求建議到程序中處理性能會好很多
當(dāng)然mysql 也可以直接查詢出結(jié)果
select a.*,sum(b.變動數(shù)值) as 變動總和 from table a left join table as b on a.用戶id=b.用戶id and a.變動日期>=b.變動日期 group by a.主鍵回答3:
select ccc.* ,if(@lag_uuid = 用戶id ,@lag:=@lag+變動數(shù)值,@lag:=變動數(shù)值) 變動總和, (@lag_uuid := 用戶id) lag_uuid
from (SELECT * FROM tbl_ WHERE 1=1 order by 用戶id ) ccc,(select @lag:=0,@lag_uuid:=null) tb_lag
order by ccc.id
相關(guān)文章:
1. html5 - datatables 加載不出來數(shù)據(jù)。2. node.js - mongodb查找子對象的名稱為某個(gè)值的對象的方法3. 測試自動化html元素選擇器元素ID或DataAttribute [關(guān)閉]4. html5和Flash對抗是什么情況?5. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!6. javascript - QQ第三方登錄的問題7. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境8. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?9. spring-mvc - spring-session-redis HttpSessionListener失效10. 正在使用electron和node.js做桌面應(yīng)用,需要實(shí)時(shí)監(jiān)聽是否有網(wǎng)絡(luò)連接,node或者electron是否可以做到

網(wǎng)公網(wǎng)安備