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. css3 - 請問一下在移動端CSS布局布局中通常需要用到哪些元素,屬性?2. PHP能實現百度網盤的自動化么?3. 網頁爬蟲 - python requests爬蟲,如何post payload4. android - 使用vue.js進行原生開發如何進行Class綁定5. node.js - vue服務端渲染如何部署到線上6. node.js - 微信的自動回復問題7. MySQL 水平拆分之后,自動增長的ID有什么好的解決辦法?8. javascript - 百度圖片切換圖片時url會改變,但無刷新,沒用hash,IE8也支持,請問是用了什么技術?9. 我正在使用jsp / jstl / spring動態生成css和js。如何將此結果放置在頭部的鏈接標簽中。不在頭部的腳本標簽中10. angular.js - 各位大神們,你們混合開發,web方式中更推薦用什么框架呀? react?vue?angular?謝謝~
