我有这个 SQL Fiddle
当按 sequence_number 字段排序时,这些记录需要根据以下逻辑进行分组并赋予 row_number: 以下行类型不为 0 的所有记录都属于同一组。
例如,从提供的 SQL 小提琴中,
序号 0,1 和 2 属于同一组,序号 3 和 4 属于另一组。基本上,最多为 0 行类型的任何行都是单个组的一部分。我试图返回的数据将如下所示:
GROUP LINE_TYPE SEQUENCE_NUMBER PRODUCT
------------------------------------------------
1 0 0 REM322
1 6 1 Discount
1 7 2 Loyalty Discount
2 0 3 RGM32
2 6 4 Discount
另一种重新表述我所追求的方法是,当按序列号排序时,组号会在它为 0 时发生变化。
我一直在绞尽脑汁想如何使用分区/滞后甚至自连接来做到这一点,但遇到了麻烦。
任何帮助表示赞赏。