我正在尝试更新没有唯一键的表,因此我需要找到组的最后一个条目并进行更新。我正在添加代码以了解逻辑,因为我不知道该如何在Postgres中编写代码
UPDATE table
SET column_name = 'VALUE'
WHERE (SELECT column_name FROM table WHERE group = 1 ORDER BY date DESC LIMIT 1)
答案 0 :(得分:0)
您的(组,日期)似乎是主键。
您可以使用WITH
查询:
WITH _cte AS (
SELECT * FROM table WHERE group = 1 ORDER BY date DESC LIMIT 1 )
UPDATE table
SET column_name = 'VALUE'
FROM _cte
WHERE _cte.group = table.group AND _cte.date = table.date;
btw:有助于避免将sql关键字作为表/列名称。