如果CODE
与上一行相同(过滤掉最新添加的),我想先保留该行的第一个添加行。该代码可能不会只显示一次。因此,我似乎不能简单地使用Qualify rank() over(partition by ...order by ...)
来得到结果。如何过滤出相同的日志,只保留第一个,直到值更改?
这里是原始数据:
id START_DATE CODE
--- ---------- -----
1 2008-02-03 A
1 2010-04-22 A
1 2013-01-29 C
1 2013-12-22 C
1 2016-05-25 B
1 2017-07-13 A
而最终的结果我期待着:
id START_DATE CODE
--- ---------- -----
1 2008-02-03 A
1 2013-01-29 C
1 2016-05-25 B
1 2017-07-13 A
有什么方法来获得与SQL结果呢?
你至少应该让我们知道您使用的SQL数据库产品,因为各种SQL方言有所不同。 – Arminius
为什么前两个'A'行是排序行和最后一个'A'行是分开的?这里定义了什么命令?你有另一个唯一的标识符列吗? –
您正在使用哪个[DBMS](https://en.wikipedia.org/wiki/DBMS)? Postgres的?甲骨文? –