删除大型 Sqlite 表中的重复行

Dav*_*321 1 sqlite python-3.x

我有一个 1000 万行的表

我有重复的行,并且我开发了一个集中了几列的列。这个创建的列应该是唯一的。

这就是我所拥有的

列1 列2 列3 ... 列50
1 吉姆·雷德 1jimred
1 吉姆·雷德 1jimred
2 山姆蓝 1samblue
3 狐狸粉红 3foxpink

我想要的是

列1 列2 列3 ... 列50
1 吉姆·雷德 1jimred
2 山姆蓝 1samblue
3 狐狸粉红 3foxpink

我想编写一个程序来删除 col50 中找到的重复行并保留所有其他列。

不过,我认为 1000 万行中有 900 万行是唯一的,因此我无法将结果存储在内存中。

有没有办法做到这一点?

cow*_*ert 5

这在纯 SQL 中应该是可行的:

CREATE TABLE temp_table as SELECT DISTINCT * FROM source_table;
DELETE FROM source_table; 
INSERT INTO source_table SELECT * FROM temp_table
Run Code Online (Sandbox Code Playgroud)