Reputation: 271
How to retrieve data from the previous entry/row on a select statement?
I want to retrieve facID, read_date, and previous date for each row based on facID.
I think using window function can help here like below code:
select factory_id,read_date from (
select factory_id,read_date,
rank() over (partition by factory_id order by read_date) as RN
from Table order by factory_id,read_date
) a
But not sure how to write a code to retrieve the previous date. Thank you in advance
Upvotes: 1
Views: 52
Reputation: 10172
Use lag:
select
factory_id,
read_date,
lag(read_date) over (partition by factory_id order by read_date) as last_read_date
from Table
order by factory_id,read_date
Upvotes: 1