更新所选列表的最后一个条目

时间:2019-01-21 08:23:55

标签: postgresql sql-update

我正在尝试更新没有唯一键的表,因此我需要找到组的最后一个条目并进行更新。我正在添加代码以了解逻辑,因为我不知道该如何在Postgres中编写代码

UPDATE table 
SET column_name = 'VALUE'
WHERE (SELECT column_name FROM table WHERE group = 1 ORDER BY date DESC LIMIT 1)

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关键字作为表/列名称。