如何使用SQL计算按年度固定比例递增的市场总价值
全周期市场价值自动化计算SQL方案
计算规则适配
适配业务规则:初始月付金额每满12个月按指定比例上浮,总价值为所有月份付款金额之和,示例参数(36个月、上浮5.5%、起始月付2805)计算结果和预期的106635.72完全匹配。
通用SQL计算逻辑
假设存储规则的表名为market_data,直接使用提供的三个字段months(周期总月数)、percentage(递增比例,默认按小数格式存储,比如5.5%对应值为0.055)、starting_value(起始月付金额),计算语句如下:
SELECT starting_value, months, percentage, ROUND( -- 等比数列求和计算所有完整12月周期的总付款 12 * starting_value * (POW(1 + percentage, FLOOR(months / 12)) - 1) / percentage -- 加上最后不满12个月的零散月份付款 + starting_value * POW(1 + percentage, FLOOR(months / 12)) * (months % 12) , 2) AS result FROM market_data;
兼容调整说明
- 幂运算函数:SQL Server场景下将
POW替换为POWER即可 - 取模运算:SQL Server场景下将
months % 12替换为MOD(months, 12)即可 - 比例字段如果存储的是百分比数值(比如5.5而不是0.055),将公式中
1 + percentage改为1 + percentage / 100即可
内容的提问来源于stack exchange,提问作者Hevant Bhojaram
相关产品推荐
相关产品推荐

