我目前在编写业务逻辑时遇到问题,无法从表中获取具有id和我已附加到其中的标志的行。SQL根据条件获取行
例如,
id: id seq num: flag: Date:
A 1 N ..
A 2 N ..
A 3 N
A 4 Y
B 1 N
B 2 Y
B 3 N
C 1 N
C 2 N
最终的结果我想实现的是: 对于每一个唯一的ID我只想取回一行与该行作为条件
如果该标志是“Y”,则返回该行。
否则返回最后一个“N”行。
另一个要注意的是,“Y”标志是不必总是最后
我一直试图让使用分区case
条件像 OVER (PARTITION BY A."ID" ORDER BY A."Seq num")
但至今没有运气。
- 编辑:
从表中,抽样结果将是:
id: id seq num: flag: date:
A 4 Y ..
B 2 Y ..
C 2 N ..
什么是你尝试的情况状况?你有没有试过把分区的结果放在公用表格表达式中,这样你就可以使用这种情况了? – Sander
您能向我们展示您对该样本表的期望输出吗?我很难弄清楚“唯一ID”是指什么。 –
@TimBiegeleisen我已添加结果 – Pyrons