Обновить столбец с максимальным значением группы

В SQL Server рассмотрим эту таблицу:

ИдентификаторНомер частиОтметка времениРеинтеграция
111112020-01-01НУЛЕВОЙ
211112020-01-02НУЛЕВОЙ
322222021-02-01НУЛЕВОЙ
422222021-02-02НУЛЕВОЙ

Я хочу обновить столбец Reintegration значением MAXGroup By PartNumber.

Вот ожидаемый результат:

ИдентификаторНомер частиОтметка времениРеинтеграция
111112020-01-01НУЛЕВОЙ
211112020-01-022020-01-02
322222021-02-01НУЛЕВОЙ
422222021-02-022021-02-02

Я пробовал многое с GROUP BY, MAX, INNER JOIN, но безуспешно.

Спасибо за любую помощь.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
0
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Здесь хорошо подходит оконная функция max() over().

Пример или дбфиддл

with cte as (
Select *
      ,MaxDate = max([TimeStamp]) over (partition by PartNumber) 
 from YourTable
)
Update cte set [Reintegration] = MaxDate
 Where [TimeStamp] = MaxDate

Обновленная таблица

Id  PartNumber  Timestamp     Reintegration
1   1111        2020-01-01    NULL
2   1111        2020-01-02    2020-01-02
3   2222        2021-02-01    NULL
4   2222        2021-02-02    2021-02-02

Другие вопросы по теме