mysql - 如何將單筆訂單表轉(zhuǎn)化成累加訂單表
問題描述
有表1如下
idnamemoneytime1mike62016-09-012mike6482016-09-013leo4882016-09-024mike62016-09-03如何獲得以下表2內(nèi)容
idnameamounttime1mike62016-09-012mike6542016-09-013leo4882016-09-024mike6602016-09-03問題解答
回答1:目前自己也想到了一種方式,不知道還有沒有更優(yōu)的相互比較學(xué)習(xí)一下
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//如果時(shí)間是遞增的可以使用id判斷 GROUP BY a.money ORDER BY id回答3:
謝謝邀請。是要累加amount字段嗎?用用戶id做條件累加不可以嗎?
回答4:可以看看sql中的union關(guān)鍵字
回答5:感覺sql并不擅長做這種事,放在代碼里面運(yùn)算會(huì)比較好。
如果是每個(gè)用戶一條記錄的話,那group by + sum即可。
回答6:這是存儲(chǔ)過程
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()
這是結(jié)果,如下所示
1 mike 6 2016-09-012 mike 654 2016-09-013 leo 488 2016-09-024 mike 660 2016-09-03
相關(guān)文章:
1. javascript - sublime快鍵鍵問題2. 實(shí)現(xiàn)bing搜索工具urlAPI提交3. javascript - 移動(dòng)端上不能實(shí)現(xiàn)拖拽布局嗎?4. boot2docker無法啟動(dòng)5. thinkPHP5中獲取數(shù)據(jù)庫數(shù)據(jù)后默認(rèn)選中下拉框的值,傳遞到后臺(tái)消失不見。有圖有代碼,希望有人幫忙6. 前端 - 這段代碼一直生效不了,查半天因?yàn)?top: 0px; 分號(hào)后一個(gè)隱藏的東西,也不是占位符...刪了就可以生效,這是什么情況。。7. angular.js - 單頁應(yīng)用(ng/vue)該如何監(jiān)聽用戶離開當(dāng)前頁面(或者路由)?8. nginx bind failed9. javascript - 如何判斷不同兩個(gè)對象觸發(fā)同一事件?10. javascript - react native在run-android時(shí)出現(xiàn)這個(gè)錯(cuò)誤該怎么解決?大神賜教

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