Обновление последней записи выбранного списка - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь обновить таблицу, в которой нет уникальных ключей, поэтому мне нужно найти последнюю запись группы и обновить ее.Я добавляю код, чтобы понять логику, потому что я не знаю, как мне написать его в Postgres

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

1 Ответ

0 голосов
/ 21 января 2019

Ваш (группа, дата) кажется первичным ключом.

Вы можете использовать WITH query:

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 в виде таблицы /имена столбцов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...