紅顏莎娜
2019-11-02 14:12:43
我正在使用postgres。我想刪除重復(fù)行。條件是,不會(huì)刪除重復(fù)行集中的1個(gè)副本。即:如果有5條重復(fù)記錄,則其中4條將被刪除。
3 回答

藍(lán)山帝景
TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
請(qǐng)嘗試本文所述的步驟:從PostgreSQL數(shù)據(jù)庫中刪除重復(fù)項(xiàng)。
它描述了一種情況,當(dāng)您不得不處理無法處理的大量數(shù)據(jù)時(shí)group by。
一個(gè)簡(jiǎn)單的解決方案是:
DELETE FROM foo
WHERE id NOT IN (SELECT min(id) --or max(id)
FROM foo
GROUP BY hash)
在哪里hash重復(fù)的東西。

GCT1015
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
delete from table
where not id in
(select max(id) from table group by [duplicate row])
這是隨機(jī)(最大值)選擇,您需要保留哪一行。如果您對(duì)此有疑問,請(qǐng)?zhí)峁└嘣敿?xì)信息
- 3 回答
- 0 關(guān)注
- 500 瀏覽
添加回答
舉報(bào)
0/150
提交
取消