Whats is wrong with this query?
It returns:
ORA-00904: "PREV_TEMP": invalid identifier
SELECT Id, RecordDate, Temperature, LAG(Temperature) OVER (ORDER BY RecordDate) as prev_temp FROM Weather WHERE Temperature > prev_temp;
SQL schema:
Create table If Not Exists Weather (Id int, RecordDate date, Temperature int) Truncate table Weather insert into Weather (Id, RecordDate, Temperature) values ('1', '2015-01-01', '10') insert into Weather (Id, RecordDate, Temperature) values ('2', '2015-01-02', '25') insert into Weather (Id, RecordDate, Temperature) values ('3', '2015-01-03', '20') insert into Weather (Id, RecordDate, Temperature) values ('4', '2015-01-04', '30')
Advertisement
Answer
You cannot use directly, but need to use in a subquery to be able to use the returning value from analytic function
SELECT * FROM ( SELECT Id, RecordDate, Temperature, LAG(Temperature) OVER (ORDER BY RecordDate) as prev_temp FROM Weather ) WHERE Temperature > prev_temp;