Oracle 查询以显示每行中的状态更改与先前状态
Oracle query to show change of status in each row with previous status
我有一个 table 包含以下行
需要编写一个 oracle sql 查询以获得输出为:
P.S: 我正在使用 Oracle 9i。让我知道是否可以仅使用 oracle 9i sql.
您可以使用 lag()
:
select proj_name, prev_status || ' to ' || status
from (select t.*, lag(status) over (partition by proj_name order by date) as prev_status
from t
) t
where prev_status is not null;
我有一个 table 包含以下行
需要编写一个 oracle sql 查询以获得输出为:
P.S: 我正在使用 Oracle 9i。让我知道是否可以仅使用 oracle 9i sql.
您可以使用 lag()
:
select proj_name, prev_status || ' to ' || status
from (select t.*, lag(status) over (partition by proj_name order by date) as prev_status
from t
) t
where prev_status is not null;