EXP:
select line,value,k0 from kk
1 10 A
1 10 A
1 10 A
3 31 B
3 31 B
1 10 A
1 10 A
1 10 A
3 31 B
3 31 B
解决快速的语句:
delete from kk a where a.rowid NOT in(select max(b.rowid) from kk b
where a.line=b.line and a.value=b.value and a.k0=b.k0)
----------------------------------------------------------------
如果表的列数少的,这个语句就好用!
利用分析函数:
delete from kk where rowid in(
select row_id from (
select rowid row_id,row_number() over(partition by line,k0,value order by rowid ) rn from kk
) where rn<>1)
RESULT:
1 1 10 A
2 2 40 B
3 3 31 B
4 1 22 A
5 1 31 B
本文介绍了一种使用SQL进行数据去重的方法,包括利用普通子查询和分析函数两种方式实现,帮助用户有效清理重复数据,提升数据库性能。
274

被折叠的 条评论
为什么被折叠?



