Ваш запрос синтаксически неверен:
Во-первых, если вы используете LAG()
с параметром позиции, то вы должны указать и третий параметр. Однако по умолчанию оно равно 1. Итак, не нужно указывать:
LAG(temperature) over (ORDER BY RecordDate) AS prevs_temp
Во-вторых, ваш подзапрос не имеет псевдонима:
select t.id
from (select id, temperature, LAG(temperature) over (ORDER BY RecordDate) AS prevs_temp
from weather
) t -- alias missing
where (t.temperature > t.prevs_temp or t.prevs_temp is null); -- will return id which doesn't have previous `temperature`.