我有一些数据:
期间| id |账户|浮动|价值
24217 | 303003 | 0
24218 | 303003 | 0
24219 | 303003 | 1
24220 | 303003 | 1
24221 | 303003 | 0
24222 | 303003 | 0
我需要这样对这些数据进行分组:
begin_period | end_period| id_account | float_value
24217 | 24218 | 303003 | 0
24219 | 24220 | 303003 | 1
24221 | 24222 | 303003 | 0
我尝试了按分区和while循环的行数,但没有成功。
3条答案
按热度按时间ycggw6v21#
我把这理解为一个gaps和isald问题,您需要将“相邻”行组合在一起,即具有相同属性的行
float_value
,跨具有相同id_account
以及parameter
.在这里,我认为最简单的方法是使用行号之间的差异来计算每条记录属于哪个组:
db小提琴演示:
i34xakig2#
这是一个缺口和孤岛问题,一种方法是使用行号差异法:
演示
5cnsuln73#
你可以用
row_number
如下所示。这是演示。输出: