sql - TSQL - 删除重复的最旧值
解决方案
我喜欢为此使用可更新的 CTE:
with cte as (
select row_number() over(partition by userid order by logintim desc) rn
from mytable
)
delete from cte where rn > 1
对于 each userid
,这将保留最新的行logintim
并删除其他行(如果有)。
推荐阅读
- c++ - c ++在cgo中访问外部
- python - 检查名称列表中是否存在构建名称 -python
- python - 在二维数组中将列表中的每个元素相乘时出错
- python - 将线条形状更改为聚合图
- java - 为什么 negate() 需要显式强制转换为 Predicate?
- javascript - 如何从 javascript 访问打印对话窗口中的元素
- r - 如何在多个列中对相同的值进行分组并对后续值求和?
- amazon-web-services - 如何将多个用户添加到 S3 上许多文件的访问控制列表
- c++ - 我似乎在使用基本 if/else 语句时遇到问题:/
- azure - Connect-AzureAD -Confirm throwing AADSTS900144:请求正文必须包含以下参数:'code'。错误