我按顺序排了一组行。列“状态”只有两个值0/1。现在,我想为每个0/1集添加一个序列号/组号。可以有1到多行的0,但最后每组只有一个1。如何添加新列作为序列号,只有在存在1时才会增加。
示例:
ID Status Row Group Number
1 0 1
2 0 1
3 1 1
4 0 2
5 1 2
6 0 3
7 0 3
8 0 3
9 1 3
问题是如何获得第三列?
谢谢。答案 0 :(得分:4)
select t.*,
1 + sum(status) over (order by id) - status as rowgroupnumber
from t;