[英]is there a way to calculate balance in mysql view?
SELECT t1.id, SUM(t2.`in` - t2.`out`) AS balance
FROM tab t1
JOIN tab t2
ON t2.id <= t1.id
GROUP BY t1.id
ORDER BY t1.id;
輸出:
╔═════╦═════════╗
║ id ║ balance ║
╠═════╬═════════╣
║ 1 ║ 200 ║
║ 2 ║ 270 ║
║ 3 ║ 295 ║
║ 4 ║ 285 ║
║ 5 ║ 270 ║
║ 6 ║ 250 ║
╚═════╩═════════╝
您還可以使用變量來計算運行總和:
小提琴: http ://sqlfiddle.com/#!9/edf9d/3/0
set @runsum:=0;
select id, (@runsum := @runsum + `in` - `out`) as runner
from product_trans
order by id;
在除MySQL以外的大多數數據庫中,例如Oracle或SQL Server,您將改用分析函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.