Я новичок в SQL и несколько дней боролся за то, чтобы понять, как искать в обратном порядке по предыдущим строкам по времени.
Я обнаружил, что функция отставания Windows может помочь мне в этом, но я не нашелспособ определить период времени для поиска обратно.
Если я введу: -
SELECT food_word_1,
date,
lead(food_word_1,2) OVER (ORDER BY date DESC) as prev_food_word_1
FROM bookmark
WHERE mood = 'allergies'"
Результат будет выглядеть следующим образом: -
food_word_1 | date | prev_food_word_1
-------------+----------------------------+------------------
burritos | 2019-02-01 09:56:40.943341 |
burritos | 2019-02-01 09:56:31.56869 |
burritos | 2019-02-01 09:56:31.34883 | burritos
cereal bar | 2019-01-10 07:24:29.602226 | burritos
almonds | 2019-01-09 08:37:34.223448 | burritos
fennel | 2019-01-09 08:35:44.186134 | cereal bar
Я получаю результат при поиске по 2 строкам, но мне хотелось бы, чтобы этот поиск выполнялся назад (с отставанием) для строк, которые были на 36 часов раньше, вместо того, чтобы мне приходилось определять количество строк без ассоциированного с ними времени.
Кто-нибудь знает лучший подход для этого, пожалуйста?
Спасибо