我正在尝试填充NULL
值在多个列(不同的列类型INT,VARCHAR)与以前的NOT NULL
值在一组按日期排序。考虑下表:
我想到达这里:
CREATE TABLE IF NOT EXISTS test (
id VARCHAR,
date DATE,
value_1 INT,
value_2 VARCHAR
);
INSERT INTO test VALUES
(1, '2022-01-01', 5, 'asdf'),
(1, '2022-01-02', NULL, NULL),
(1, '2022-01-03', NULL, 'def'),
(1, '2022-01-04', 4, NULL),
(2, '2022-01-01', 1, 'a'),
(2, '2022-01-02', NULL, NULL),
(2, '2022-01-03', 2, 'b'),
(2, '2022-01-04', NULL, NULL);
1条答案
按热度按时间wfveoks01#
有一天,PostgreSQL可能会支持
LEAD
和LAG
函数的IGNORE NULLS
选项。同时,必须使用窗口函数来建立组,然后选择每个组中的最大值。