mysql - 如何将单笔订单表转化成累加订单表
问题描述
有表1如下
idnamemoneytime1mike62016-09-012mike6482016-09-013leo4882016-09-024mike62016-09-03如何获得以下表2内容
idnameamounttime1mike62016-09-012mike6542016-09-013leo4882016-09-024mike6602016-09-03问题解答
回答1:目前自己也想到了一种方式,不知道还有没有更优的相互比较学习一下
select id,name,(select sum(money) from test b where b.name = a.name and b.time <= a.time) as amount,time from test a回答2:
谢邀,试试这句~
SELECT a.id,a.name,SUM(lt.money) as amount FROM test a JOIN test lt ON a.time >= lt.time//如果时间是递增的可以使用id判断 GROUP BY a.money ORDER BY id回答3:
谢谢邀请。是要累加amount字段吗?用用户id做条件累加不可以吗?
回答4:可以看看sql中的union关键字
回答5:感觉sql并不擅长做这种事,放在代码里面运算会比较好。
如果是每个用户一条记录的话,那group by + sum即可。
回答6:这是存储过程
DELIMITER $$DROP PROCEDURE IF EXISTS `get_totaltab`$$CREATE PROCEDURE `get_totaltab`()BEGIN declare i int default 1; while i < 5 do INSERT INTO book_copy SELECT max(id),name,sum(money),max(time) from book where name=(SELECT name FROM book where id=i) and id<=i; set i = i + 1; end while;END$$DELIMITER ;CALL get_totaltab()
这是结果,如下所示
1 mike 6 2016-09-012 mike 654 2016-09-013 leo 488 2016-09-024 mike 660 2016-09-03
相关文章:
1. 修改mysql配置文件的默认字符集重启后依然不生效2. 请问一下各位老鸟 我一直在学习独孤九贱 现在是在tp5 今天发现 这个系列视频没有实战3. Python两个list互换,两种不同的操作结果有差异,原因是什么呢?4. php - 类似Apple官网顶部3级导航该如何设计数据库?5. mongodb - windows7下mongod无法正常启动6. angular.js - 关于指令link 中的创建变量问题7. javascript - ueditor引入报错问题8. mysql - 请教一个Java做数据库缓存的问题9. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””10. python sqlite3 长语句插入出错

网公网安备