国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

mysql - 如何將單筆訂單表轉化成累加訂單表

瀏覽:116日期:2022-06-18 15:29:51

問題描述

有表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

相關文章:
主站蜘蛛池模板: 唐山市| 屏东市| 上蔡县| 东海县| 梁山县| 汉源县| 新兴县| 安阳市| 奈曼旗| 高州市| 富民县| 简阳市| 杂多县| 曲阜市| 奉新县| 松原市| 方山县| 鄂伦春自治旗| 平遥县| 西城区| 维西| 汉中市| 大港区| 永安市| 石棉县| 邢台市| 娱乐| 舞钢市| 师宗县| 太湖县| 调兵山市| 米脂县| 胶州市| 武冈市| 郸城县| 沭阳县| 南通市| 洪泽县| 石阡县| 临桂县| 武定县|