次のようなソースデータセットがあります(より明確にするために簡略化されています):
Key F1 F2
1 X 4
2 X 5
3 Y 6
4 X 9
5 X 7
6 X 8
7 Y 9
8 X 6
9 X 5
10 Y 3
データは Key フィールドでソートされます。ここで、F1 フィールドによって定義されたパーティションに対する F2 フィールドの集計を計算したいと思います。パーティションは最初の X 値で始まり、最初の後続の Y 値で終わります。
したがって、たとえば、上記のように定義されたパーティションに対して MIN() を計算したいと思うかもしれません。結果セットは次のようになります。
rownum MIN(F2)
1 4
2 7
3 3
私は多くのリソース (私たち自身のイントラネット コミュニティやもちろんスタック オーバーフローを含む) を試しましたが、私の場合は何も見つかりませんでした。通常、パーティショニングは、パーティションの識別に使用できるフィールドでのみ機能します。ここで、パーティションは、特定の順序に対するフィールドの内容の変化によって定義されます。
手続き型のソリューションを作成する必要があるかもしれないことは承知していますが、純粋な SQL でこれを解決したいと考えています。
SQL select ステートメントを使用してこのようなパーティショニングを実現する方法はありますか?
カイに感謝します。