如何使用mysql创建递减余额查询以计算会计中的折旧
例如设备成本为16,000美元,预计使用寿命为5年,折旧率为40%。折旧
年份 起始账面价值 折旧率 折旧额 结束账面价值 1 16,000 40% 6,400 9,600 2 9,600 40% 3,840 5,760 3 5,760 40% 2,304 3,456 4 3,456 40% 1,382.40 2,073.60 5 2,073.60 40% 829.44 1,244.16
如何创建函数/查询以获得上述结果?谢谢
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您可以使用递归CTE来得到您想要的结果。例如:
with recursive p as (select 16000.00 as book_value, 0.4 as rate, 5 as total_years), y (year, book_value_start, rate, depreciation, book_value_end) as ( select 1, book_value, rate, round(rate * book_value, 2), book_value - round(rate * book_value, 2) from p union all select y.year + 1, y.book_value_end, y.rate, round(y.rate * y.book_value_end, 2), y.book_value_end - round(y.rate * y.book_value_end, 2) from y cross join p where y.year < p.total_years ) select * from y order by year结果:
在DB Fiddle上查看运行示例。
注意:所有三个参数在第二行中定义。如果您想要更改起始值、利率或年数,请在那里进行更改。