文章詳情頁
請教一個mysql查詢的問題
瀏覽:81日期:2022-06-15 13:57:16
問題描述
設一個表中記錄了用戶的積分變動,默認為加
主鍵用戶id變動日期變動數值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而我如果需要查出各用戶各時間段的資金變動總和,如下表所示
主鍵用戶id變動日期變動數值變動總和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,結果集順序沒有要求。
問題解答
回答1:select sum(變動數值) from table where 變動日期 >=yymmdd and 變動日期 <=yymmdd group by 用戶id
回答2:這樣的需求建議到程序中處理性能會好很多
當然mysql 也可以直接查詢出結果
select a.*,sum(b.變動數值) 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+變動數值,@lag:=變動數值) 變動總和, (@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
相關文章:
1. java固定鍵值轉換,使用枚舉實現字典?2. java - 我設置了cookie的max age,但是cookie依然在關閉游覽器后消失了3. 如何為每個應用程序配置tomcat 6的logs / catalina.out。(為sys.out,sys.err配置Web應用程序特定的日志文件)4. php自學從哪里開始?5. phpstady在win10上運行6. css - ionic中的柵格布局如何讓文字內容多少不同的每一列中的內容都能垂直居中?7. window下mysql中文亂碼怎么解決??8. javascript - 手機瀏覽器會有一個默認的viewport視圖,將頁面縮放后顯示在手機屏幕?9. 這是什么情況???10. javascript - 微信網頁開發從菜單進入頁面后,按返回鍵沒有關閉瀏覽器而是刷新當前頁面,求解決?
排行榜
