目的:表中数据 某几个字段是重复的 现取出相同字段值时间最大的一个 并将其他删除
数据库:
----若只是单独的查询唯一的数据:去除重复的方法
select distinct(AppID) from dbo.T_Construct_ThreeTime
-----利用partition 通过actiondate时间排序 重复字段appid 取出以appid为相同数据 字段n从1开始的所有数据 【可添加其他字段 以逗号隔开】
select *,row_number() over(partition by appid order by actiondate desc) n from AuditInfo
-----利用with as 删除cte中的重复数据
;with cte as(
select *,row_number() over(partition by appid order by actiondate desc) n from AuditInfo
)
----可先查询cte表数据 看是否通过appid相同字段 n为appid的自增值
-----select * from cte
删除cte表中 n不等于1的数据
delete from cte where n!=1 ---n=1即删除的是n=1的所有数据
数据若不多 可以将数据去重 添加至临时表 删除表数据 临时表添加到此表【不推荐】