大家好,我现在手上有一张大表,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 ![]() 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 ![]() |