SQL - 删除重复的最旧值
TSQL - Deleting a duplicate oldest value
我想创建一个 SQL 脚本来执行以下操作:
- 识别 USERID 字段中的重复值
- 接下来根据最早的LOGINTIM删除记录如下图
谢谢
我喜欢为此使用可更新的 CTE:
with cte as (
select row_number() over(partition by userid order by logintim desc) rn
from mytable
)
delete from cte where rn > 1
对于每个 userid
,这会保留最近 logintim
的行并删除其他行(如果有的话)。
我想创建一个 SQL 脚本来执行以下操作:
- 识别 USERID 字段中的重复值
- 接下来根据最早的LOGINTIM删除记录如下图
谢谢
我喜欢为此使用可更新的 CTE:
with cte as (
select row_number() over(partition by userid order by logintim desc) rn
from mytable
)
delete from cte where rn > 1
对于每个 userid
,这会保留最近 logintim
的行并删除其他行(如果有的话)。