У меня есть таблица st_12_test.
CREATE TABLE public.st_12_test
(
mmsi numeric,
x1 double precision,
y1 double precision,
datetime timestamp without time zone,
x2 double precision,
y2 double precision,
linetime double precision
)
Я пытаюсь удалить столбец x2 (который пуст), добавив значение предыдущей строки в столбец x1. Я могу просмотреть результаты, используя такой запрос:
SELECT *, lag(x1,1) OVER (PARTITION BY mmsi) AS x2 FROM st_12_test;
, но я не могу обновить столбец x2 таблицы. Я получаю ОШИБКУ: невозможно использовать оконную функцию в ОБНОВЛЕНИИ, например, когда я пытаюсь запустить что-то вроде этого:
UPDATE st_12_test SET x2 = LAG(x1,1) OVER (PARTITION BY mmsi);
есть идея?