Sqlite
SQLite3 - 按多列刪除重複項
我正在尋找從表中刪除重複項的最有效方法,其中 id 是唯一的,但是當您檢查其他列時行數相等。
例子:
id name age x 1 peter 25 II 2 peter 25 II
該表有數万行。
假設您沒有引用該表的外鍵,您可以執行類似的操作
create table some_table as select min(id), name, age, x from t group by name, age, x
然後您可以刪除舊表,重命名新表,使其與之前的舊表具有相同的名稱,並在該表上創建索引和其他您需要的東西。
即使問題是 6 歲
我有類似的需求,我使用了類似的東西
DELETE FROM t where id||name||age NOT IN (SELECT min(id)||name||age FROM t GROUP BY id, name, age)