,可以使用以下步骤:
WITH CTE AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY ID ORDER BY timestamp DESC) AS rn
FROM your_table
)
DELETE FROM CTE WHERE rn > 1;
上述查询使用了CTE(公共表表达式)和ROW_NUMBER()函数来为每个具有相同ID的行分配一个行号,按照时间戳降序排列。然后,删除行号大于1的行,即保留最新的行。
请注意,你需要将"your_table"替换为实际的表名。
这个方法适用于Sql Server数据库,并且可以确保只保留具有相同ID的最新行。这在处理历史记录或日志数据时非常有用,可以删除重复的数据并保留最新的更新。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云