sql-server - SQL 服务器 : query to display new column containing data * factor based on previous record

标签 sql-server database

我正在尝试在 SQL Server 中制定一个查询,其中:

Date        |   Name  | Amount | AmountX
------------+---------+--------+-------
2010-01-01  |   Test  | 0      | 0
2010-02-01  |   Test  | 0      | 0
2010-03-01  |   Test  | 0      | 0
2011-01-01  |   Test  | 62.61  | 63.86
2011-02-01  |   Test  | 62.61  | 63.86
2011-03-01  |   Test  | 62.61  | 63.86
2012-01-01  |   Test  | 62.61  | 65.14
2012-02-01  |   Test  | 62.61  | 65.14
2012-03-01  |   Test  | 62.61  | 65.14
2013-01-01  |   Test  | 62.61  | 66.44
2013-02-01  |   Test  | 62.61  | 66.44
2013-03-01  |   Test  | 62.61  | 66.44
2014-01-01  |   Test  | 62.61  | 67.77
2014-02-01  |   Test  | 62.61  | 67.77
2014-03-01  |   Test  | 62.61  | 67.77
2015-01-01  |   Test  | 0      | 0
2015-02-01  |   Test  | 0      | 0
2015-03-01  |   Test  | 0      | 0
2016-01-01  |   Test  | 67.95  | 69.31
2016-02-01  |   Test  | 67.95  | 69.31
2016-03-01  |   Test  | 67.95  | 69.31
2017-01-01  |   Test  | 67.95  | 70.70
2017-02-01  |   Test  | 67.95  | 70.70
2017-03-01  |   Test  | 67.95  | 70.70
2018-01-01  |   Test  | 67.95  | 72.11
2018-02-01  |   Test  | 67.95  | 72.11
2018-03-01  |   Test  | 67.95  | 72.11
2019-01-01  |   Test  | 67.95  | 73.55
2019-02-01  |   Test  | 67.95  | 73.55
2019-03-01  |   Test  | 67.95  | 73.55

日期、姓名和金额列来自表格。

我需要创建一个查询以包含到基于日期分组的 AmountX 列。用于计算的金额和 2% 的系数。

2010 年可以忽略,因为金额值为 0。

对于 2011 年,金额值不为 0,即 62.61。我需要将其乘以 1.02 得到全年的 63.86,并将其显示在 AmountX 列中。

现在对于 2012 年,上一年的计算结果为 63.86 X 1.02 = 65.14。

因此对于 2013 年,它将是 64.14 X 1.02 = 66.44。

2014 年,它将是 66.44 X 1.02 = 67.77。

这可行吗?

非常感谢任何帮助。

RS..

最佳答案

我想你想要:

select t.*, 
       (amount * power(1.02, year(date) - 2010)) as amountX
from t;

关于sql-server - SQL 服务器 : query to display new column containing data * factor based on previous record,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50051147/

相关文章:

sql-server - 默认值为 SQL Server 表列中的 GUID

sql - 从两个或多个列(不同数据类型)的组合在 SQL Server 中创建唯一的哈希码(字符串)

php - PRESTASHOP:自动化发货:如何在数据库中插入 SENT 对象?

sql - 无法在具有唯一索引的对象中插入重复的键行

sql - 如何选择Sql Server中不存在的记录

sql-server - 如何在 SQL Server 字符串查询中连接存储过程参数?

mysql - 是否可以只对列应用一个唯一约束,同时定义其他约束?

c# - 如何使用我的项目部署数据库?

php - Laravel 5.4 建议通过 migrate :reset? 使用 "enable/disableForeignKeyConstraints()"

database - 多可用区 RDS 真的值得吗?