У нас есть следующая таблица
id key value date
1 k1 off 2020-01-01
2 k2 off 2020-01-01
3 k3 off 2020-01-01
4 k1 on 2020-01-02
5 k1 off 2020-01-02
6 k2 on 2020-01-02
7 k2 off 2020-01-03
8 k2 off 2020-01-04
9 k1 off 2020-01-04
10 k2 off 2020-01-05
11 k3 off 2020-01-05
12 k1 on 2020-01-06
Я ожидаю результата, который покажет, какое значение ключа является последним, а предыдущее значение отличалось от текущего значения и когда оно было изменено. Следовательно, результат должен быть следующим:
key curr_value prev_value prev_change_date
k1 on off 2020-01-04
k2 off on 2020-01-02
k3 off NULL NULL
Я пробовал искать различные методы, включая методы LEAD и LAG, но я не могу получить требуемый вывод.