我有一些需要刪除冗餘數據的MySQL表。例如:選擇具有重複數據的行
id email date data...
1 [email protected] 2012-01-01 my_data
2 [email protected] 2012-01-01 my_data
3 [email protected] 2012-01-02 my_data
4 [email protected] 2012-01-02 my_data (redundant)
5 [email protected] 2012-01-02 my_data
我需要刪除多餘的行,但我想先選擇它們。我發現這個StackOverflow上,但它需要的電子郵件地址
SELECT *
FROM `my_table`
WHERE `id` IN (SELECT `id`
FROM `my_table`
where `email` = '[email protected]'
group by `date`
HAVING count(*) > 1)
我可以使用什麼樣的查詢像上面在嵌入式查詢不使用WHERE預選賽,所以我能做到這一點下跌的所有電子郵件地址?
該查詢可以是一個SELECT查詢。我不介意在PHPMyAdmin中手動刪除行。
''' '我可以像上面那樣在嵌入式查詢中不使用WHERE限定符來使用什麼查詢,這樣我就可以執行所有電子郵件地址了? '''通過這個你是否意味着所有重複的,只是保持一個副本? –
是的,刪除所有重複的行,但保留原始行 –