2
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

4

1 に答える 1