ID AB c DE(時間) --------------------------- 1 J 1 AB 1 2 J 1 AS 2 3M1AB1 4M1AB2 5M2AS3 6M2AS4 7 T 1 AB 1 8 T 2 AS 2 9 T 1 AB 3 10k1AB1 11 k 1 AB 2
いくつかの条件を追加して、複数の列で一意の値を見つける必要があります。ユニークな値は、Col A、B、および D の組み合わせです。
列 A に 2 つの行しかなく (レコード 1 と 2 のように)、列 B が両方のデータで同じで、列 D のように異なる値がある場合、S は B の後にのみ来ているので、それらのレコードを表示したくありません。
列 A に列 B と列 D が異なる複数の行 (レコード 3 から 6 など) しかない場合、列 B の後に COulmn DS が来るのに対し、これらのレコードは見たくありません。
列 A に列 B と D が異なる複数の行 (レコード 7 から 9 など) しかない場合、COulmn D では B の前に S があり、それらのレコードを表示する必要があります。
列 A に、異なる列 B と同じ列 D を持つ複数の行 (レコード 10 から 11 など) しかない場合、それらのレコードは表示したくありません。
任意の入力、partition by および unbounded in query を使用して、その最初と最後を確認できます...
探すべき基本的なロジックは、列 D で S が B の前にあるかどうかを確認し、パーティションを使用してそれらのすべてのレコードを表示することです...
目的の出力は行 7 ~ 9 です。これは、同じ列 A のロジックに基づいており、列 E の時間で注文すると、列 D の顧客からの購入前に販売がありました。
ID ABCDE(時間) -------------------------------------------------- - 7 T 1 AB 1 8 T 2 AS 2 9 T 1 AB 3