私はこの SQLフィドルを持っています
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 になるとグループ番号が変わるということです。
パーティション/ラグ、さらには自己結合を使用してこれを行う方法を考えようとして頭を悩ませてきましたが、問題が発生しています。
どんな助けでも感謝します。