【发布时间】:2020-04-23 13:36:45
【问题描述】:
我得到了以下数据集:
CREATE temp TABLE XXX (DATE TEXT, PRICE INTEGER);
INSERT INTO XXX VALUES
('2019-04-27 01:00', 1), ('2019-04-27 02:30', 3), ('2019-04-27 18:00',2),
('2019-04-28 17:00', 2), ('2019-04-28 21:00', 5),
('2019-04-29 17:00',50), ('2019-04-29 21:00',10),
('2019-04-30 17:00',10), ('2019-04-30 21:00',20),
('2019-05-01 17:00',40), ('2019-05-01 21:00',10),
('2019-05-02 17:00',10), ('2019-05-02 21:00', 6);
然后我尝试使用此查询从表 XXX 中获取 2 行最近的行,并将它们与 date + 1 天和相同的 price 值添加到表 XXX。因此,应添加日期为 05-03 的行。
with A as (
select * from XXX
order by DATE DESC),
B as (select * from (insert into A (DATE, PRICE),
select * from A
limit 2))
select * from B
这里出现错误:
error at or near "insert"
如何解决这个问题?
【问题讨论】:
-
当我理解了这个问题时,我冒昧地澄清一下。如果我记错了请调整。
标签: sql postgresql sql-insert date-arithmetic