比如一張表 有一個商品每月的銷售情況
肥皂 201801 50
肥皂 201802 31
肥皂 201803 33
肥皂 201804 0
.。。。
肥皂 201811 1
肥皂 201812 21
現在需要你計算出一個新值 是這一年每月的累積銷量
肥皂 201801 50
肥皂 201802 81
肥皂 201803 114
肥皂 201804 114
如何用查詢的方式得出結果
還要用到存盤程序。。。
我想了很多方法但是越用越復雜
uj5u.com熱心網友回復:
表有id欄位的對吧參考了之前大神給我的解決方案
http://bbs.csdn.net/topics/392315964
update demo表 set total_cost=(select sum(cost) from(select * from demo表) b where b.日期>demo表.日期);
uj5u.com熱心網友回復:
存盤程序,只需要把這個sql陳述句加入到出錯程序里面就好了uj5u.com熱心網友回復:
如果只是查詢-- 全部累計
SELECT DATA.*, @total:=@total+銷售值 as 累計
FROM tb DATA, (SELECT @total:=0) _x
ORDER BY 商品,日期
;
-- 各商品單獨累計
SELECT DATA.*, @total:=銷售值+IF(@sp=商品,@total,0) as 累計,@sp:=商品
FROM tb DATA, (SELECT @total:=0, @sp:=null) _x
ORDER BY 商品,日期
;
如果要更新到表,昌把查詢做為子查詢與要更新的表關聯
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/96620.html
標籤:MySQL
下一篇:求助:OLE IDispatch例外代碼0出自Excel無法設定種類Range的NumberFormatLocal屬性
