SQL - 删除重复的最旧值

TSQL - Deleting a duplicate oldest value

我想创建一个 SQL 脚本来执行以下操作:

谢谢

我喜欢为此使用可更新的 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 的行并删除其他行(如果有的话)。