У меня есть таблица в PrestoSQL, которая выглядит следующим образом:
test
id value timestamp
1 foo blue 2019-10-17 17:42:52
2 foo <NA> 2019-10-17 17:43:52
3 foo <NA> 2019-10-17 17:44:52
4 foo red 2019-10-17 17:45:52
5 foo <NA> 2019-10-17 17:46:52
6 bar <NA> 2019-10-17 17:47:52
7 bar green 2019-10-17 17:48:52
8 bar <NA> 2019-10-17 17:49:52
9 bar <NA> 2019-10-17 17:50:52
10 bar <NA> 2019-10-17 17:51:52
Моя цель - заполнить значения после их появления в value
, например:
output
id value timestamp
1 foo blue 2019-10-17 17:42:52
2 foo blue 2019-10-17 17:43:52
3 foo blue 2019-10-17 17:44:52
4 foo red 2019-10-17 17:45:52
5 foo red 2019-10-17 17:46:52
6 bar <NA> 2019-10-17 17:47:52
7 bar green 2019-10-17 17:48:52
8 bar green 2019-10-17 17:49:52
9 bar green 2019-10-17 17:50:52
10 bar green 2019-10-17 17:51:52
Iпонять, как использовать lead()
и lag()
, но как написать запрос для заполнения текущих значений из предыдущего известного значения по отметке времени (и id), если это не NA?
Любые предложения будутцениться