我正在尝试创建一个列,用于标识值的顺序,并在堆叠的数据集中重置每个系列。例如,我有;
Analysis Loss
1 9994493
1 8994493
2 9994493
2 8994493
2 7994493
我想创建一个“Order”列,以便它像这样填充。
Analysis Loss Order
1 9994493 1
1 8994493 2
2 9994493 1
2 8994493 2
2 7994493 3
如果您的dbms支持窗口功能,您可以尝试使用带窗口功能的row_number
。
SELECT *,row_number() over(partition by Analysis order by Loss desc) Order
FROM T
row_number()
窗口函数就是这样:
SELECT analysis,
loss,
ROW_NUMBER() OVER (PARTITION BY analysis ORDER BY loss DESC) AS "order"
FROM mytable
ORDER BY 1, 3