是否有可能按顺序使用2列的滞后?如果不是,我会如何去做这件事?SQL - LAG()按2列排序?
这里是我现在有:
LAG(GOOD_QTY) Over (Order By SEQUENCE_NO) As Value
这里是我想:
LAG(GOOD_QTY) Over (Order By SUB_ID DESC,SEQUENCE_NO) As Value
我需要滞后到Sub_ID优先考虑,因为所有的子ID操作需要先检查。
这是我的意思/想要的可视化。
这里是初始值/表:
SEQ_NO SUB_ID value
-------------
10 0 50
30 0 200
20 0 75
25 0 100
10 1 150
20 1 250
下面是发生
SEQ_NO SUB_ID value
-------------
10 0 250
30 0 100
20 0 50
25 0 75
10 1 NULL
20 1 150
所以基本上我想要做的滞后函数与我有2阶滞后功能之后要所有值分别具有sub_id = 1
和所有值为sub_id = 0
。一旦它所做的一切sub_id = 1
值应该继续去sub_id = 0
值传递的最后一个值从sub_id = 1
到第一seq_no与sub_id = 0
刚刚搞清楚如何先做所有sub_id = 1
值,然后做sub_id = 0
值好足够了,我可以弄清楚其余的可能。
你试过了吗?发生了什么? – JohnHC
等等......它的工作。 LOL – Azuraith