在SQL Server中,可以使用子查询和窗口函数来按最新日期进行分组,并更新值。下面是一个示例代码:
UPDATE your_table
SET status = 'Updated'
WHERE id IN (
SELECT id
FROM (
SELECT id, status, ROW_NUMBER() OVER (PARTITION BY id ORDER BY date_column DESC) AS rn
FROM your_table
) t
WHERE rn = 1
)
这个示例假设你有一个名为 your_table
的表,它包含了 id
、status
和 date_column
列。代码使用窗口函数 ROW_NUMBER()
来为每个 id
分配一个行号,根据 date_column
的降序排列。然后,使用一个子查询来选择每个 id
的最新行(行号为 1),并更新它们的 status
值为 "Updated"。
请注意,你需要将示例代码中的 your_table
、id
、status
和 date_column
替换为你实际使用的表名和列名。
下一篇:按最新日期时间排序