SELECT
SERIAL
, DECODE (SERIAL, 0, 0, CHANGE) AS CHANGE
, SUM (CHANGE) OVER (ORDER BY SERIAL) AS CHANGE_TOTAL
FROM
(
SELECT SERIAL, CHANGE
FROM
/*
(
VALUES
(1, 35)
, (2, 10)
, (3, -3)
, (4, 2)
, (5, 9)
)
*/
TABLE --(SERIAL, CHANGE)
UNION ALL
SELECT 0 AS SERIAL, NUMBER AS CHANGE
FROM
--(VALUES 44)
NUMBERLIST
--(NUMBER)
)
3条答案
按热度按时间kpbpu0081#
是的,这是可行的,但我不太确定你想看到的结果。
例如:
应该会给予你两列结果。第一列包含原始数据。第二列包含原始数据+ 44,我们也将其命名为'COLUMN2'。
如果您只想查看+44的数据,则:
我刚刚意识到你想从另一个查询中的一个数字添加。在这个例子中,你需要一个嵌套的选择。例如:
iyr7buue2#
试试看:
如果取消注解已注解掉的行,则可以按原样运行该语句,并获得以下结果:
| 序列号|变更|变更_总计|
| - -|- -|- -|
| 第0页|第0页|四十四岁|
| 一个|三十五个|七十九|
| 2个|10个|八十九|
| 三个|-3个|八十六人|
| 四个|2个|八十八个|
| 五个|九个|九十七|
oyjwcjzk3#
您可以将这两个查询结合在一起,然后使用函数sum()over()进行累积求和来完成此操作:
第一个函数或查询必须只返回一行。
所述结果