大家好,我现在手上有一张大表,600 万的数据吧。但是里面一半是重复的。
column 是这样的
id,column1 ,column2
但是每一项的数据都是重复的,比如
select * from testtable ;
==>
id ,column1,column2
1, name1, 数据 1
1, name1, 数据 22222
因为原先的 id 没有设置唯一约束,导致出现的这么多重复项, id ,column1 内容都是一样的,但是 column2 就不一样了。
怎么样可以保留 column2 字数比较多的那一项,另一项删除掉?
不知道我有没有表述清楚,请大家见谅。
1
hqs0417 2021-06-29 17:38:27 +08:00 1
select *, ROW_NUMBER() over (PARTITION by id order by len(column2) desc) as row_n
from testtable 结果是 id ,column1,column2 , row 1, name1, 数据 2222, 0 1, name1, 数据 1, 1 row 是 0 的就是要保留的数据 |
2
zydxn 2021-06-29 17:46:17 +08:00 1
|