Select 通过比较 Oracle 中特定顺序的一个列值的唯一记录 SQL

Select unique records by comapring one column values in a particular order in Oracle SQL

我有一个 Table 列(状态、时间戳和其他),如下所示: 我想获取状态按日期 desc

更改顺序的所有记录

响应应该是这样的:

您可以使用 lag() 并且只保留值发生变化的行:

select t.*
from (select t.*,
             lag(status) over (order by date) as prev_status
      from t
     ) t
where prev_status is null or prev_status <> status
order by date desc;