ID AB c DE(时间) -------------------------- 1 J 1 AB 1 2 J 1 作为 2 3 M 1 AB 1 4 M 1 AB 2 5 米 2 作为 3 6 米 2 作为 4 7 T 1 AB 1 8 T 2 作为 2 9 T 1 AB 3 10千 1 AB 1 11千 1 AB 2
我需要找到具有多个列的唯一值以及一些附加条件。唯一值是 Col A、B 和 D 的组合。
如果 Col A 只有两行(如记录 1 和 2)并且 B 列在两个数据上都相同,并且与 D 列中的值不同,但是 S 仅在 B 之后出现,我们不想看到这些记录
如果 Col A 只有多行(如记录 3 到 6 )具有不同的 Col B 和 D,而在 COulmn DS 在 B 之后出现,我们不想看到这些记录。
如果 Col A 只有多行(如记录 7 到 9 )具有不同的 Col B 和 D,而在 COulmn D 中 B 之前有一个 S 我们希望查看这些记录。
如果 Col A 只有多行(如记录 10 到 11 )具有不同的 Col B 和相同的 D 列,我们不想看到这些记录。
任何输入,都能够使用 partition by 和在查询中使用 unbounded 查看第一个和最后一个...
似乎要查找的基本逻辑是查看 S 是否在 D 列上的任何 B 之前,然后使用分区显示所有这些记录...
所需的输出是第 7-9 行:这是基于同一列 A 的逻辑,当按 E 列时间订购时,我们在 D 列上从客户那里得到先卖后买。
ID ABCDE(时间) -------------------------------------------------- - 7 T 1 AB 1 8 T 2 作为 2 9 T 1 AB 3