我有一张桌子,上面有几行
需要编写一个oracle sql查询以获取输出为:
P.S:我正在使用Oracle 9i。让我知道是否可以仅使用oracle 9i sql来完成。
答案 0 :(得分:1)
您可以使用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;