我有一些 MySQL 表,其中包含需要删除的冗余数据。例如:
id email date data...
1 email1@gmail.com 2012-01-01 my_data
2 email2@gmail.com 2012-01-01 my_data
3 email1@gmail.com 2012-01-02 my_data
4 email1@gmail.com 2012-01-02 my_data (redundant)
5 email2@gmail.com 2012-01-02 my_data
我需要删除多余的行,但我想先选择它们。我在 StackOverflow 上找到了这个,但它需要电子邮件地址
SELECT *
FROM `my_table`
WHERE `id` IN (SELECT `id`
FROM `my_table`
where `email` = 'email1@gmail.com'
group by `date`
HAVING count(*) > 1)
我可以像上面那样使用什么查询,在嵌入式查询中不使用 WHERE 限定符,所以我可以在所有电子邮件地址中使用它?
查询可以是 SELECT 查询。我不介意在 PHPMyAdmin 中手动删除行。