我想生成一个带条件的计数器。由 id
我想生成一个从1和1列开始的计数器 changer
从x更改为y或从y更改为x将1添加到创建的计数器。
id changer
1 x
1 x
1 y
1 x
1 y
2 y
2 x
2 y
3 x
3 y
3 x
3 y
3 y
预期结果是:
id changer counter
1 x 1
1 x 1
1 y 2
1 x 3
1 y 4
2 y 1
2 x 2
2 y 3
3 x 1
3 y 2
3 x 3
3 y 4
3 y 4
1条答案
按热度按时间rqmkfv5c1#
有趣的是,如果您只需要最大值,这会使事情变得更简单,因为您只需要为发生更改的行创建一个计数器,然后获得最大值:
结果:
对于order by子句,您需要一个date\U time字段或某个排序字段,以及一个uniquenbr(唯一id),您可以将其用于联接,或者您可以始终在另一个cte中使用row\U number函数创建一个。