admin

SQL中每行的数量增加

sql

我有一个关于以表格形式获取数据的问题。我现在有一张只有一行的表,我只是想根据给定的逻辑增加数量。

1st row amount=1200, 
2nd row amount=1320(1200+120),
3rd row amount=1452(1320+132)

逻辑是将先前金额加10%

我的桌子是

Sno - Name- Amount
1  - A  -  1200

现在我想要这样的结果..

Sno - Name- Amount

1  - A  -  1200
2  - A  -  1320
3  - A  -  1452

有人可以帮我吗,我找不到任何逻辑


阅读 187

收藏
2021-06-07

共1个答案

admin

这与WadimX的答案有完全相同的限制,但是它将执行100行。在给定输入表的情况下生成示例输出(我将其称为example):

;WITH nums AS
   (SELECT 1 AS RowNum, Name, Amount
    FROM (SELECT Name, Amount FROM example) s
    UNION ALL
    SELECT RowNum + 1 As RowNum, Name, CAST(1.1*Amount AS INT) AS Amount
    FROM nums
    WHERE RowNum < 5) 
SELECT RowNum AS SNo, Name, Amount
FROM nums 
ORDER BY Name

SQLFiddle

这将为中的每个记录返回5行example,您可以通过更改RowNum < 5100或更改为任意数量来增加计数。

输出

SNo    Name     Amount
-----------------------
1      A        1200
2      A        1320
3      A        1452
...    ...      ...
2021-06-07