Postgresql - изменение значения в другом столбце - PullRequest
0 голосов
/ 03 апреля 2020

У нас есть следующая таблица

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, но я не могу получить требуемый вывод.

...