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;
我有一个 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;