-1
我知道當您搜索這個內容時會出現很多結果,但我無法找到一個簡單明瞭的答案來回答我想要的內容。MySQL刪除後續重複操作
爲簡單起見,說我有兩列的表:
「CALL_ID」(PK,獨特的,自動遞增)&「全局唯一標識符」
我想重複刪除的行guid,保持每個guid的第一次出現。
我知道當您搜索這個內容時會出現很多結果,但我無法找到一個簡單明瞭的答案來回答我想要的內容。MySQL刪除後續重複操作
爲簡單起見,說我有兩列的表:
「CALL_ID」(PK,獨特的,自動遞增)&「全局唯一標識符」
我想重複刪除的行guid,保持每個guid的第一次出現。
您可以使用join
:
delete c
from calls c left join
(select guid, min(call_id) as minci
from calls
group by guid
) cc
on cc.minci = c.call_id
where cc.minci is null;
注意,這也將刪除具有NULL的GUID列值的所有行。 (這可能是OP想要的行爲,但規範沒有提及任何有關它的事情。)我們是否認爲GUID的NULL值是相互「重複的」,還是認爲是不同的? – spencer7593
謝謝。我寧願不刪除空值 – nevodj
如果'guid'有可能是'NULL',則在'delete'中添加'where guid not null'。 –