文章详情页
请教一个mysql查询的问题
浏览:195日期: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. android - 微信这个效果是怎么实现的2. html5 - chrome下的a标签download属性无法调出另存为的下载框3. javascript - html静态网页,这个轮播图的左右按键可以去掉黑边吗,没找到怎什么地方调呀?4. 自学,刚编了helloworld就失败了5. 为啥最大化个窗口还得找一堆理由?6. javascript - 我的站点貌似被别人克隆了, google 搜索特定文章,除了域名不一样,其他的都一样,如何解决?7. javascript - 在react中写行间样式的whiteSpace不生效8. javascript - jquery对象被定义成jquery变量后,怎么使用:gt这个(可能表达有问题)9. javascript - 求助一个关于indexedDB的问题10. python3.x - mongodb 显示不出中文,都是方块,该如何解决?
排行榜

网公网安备