我想从Mysql表中删除所有重复的行。
但问题是,我不知道哪些行重复。
这个Mysql表包含大约500000行的大数据。
其中一些行重复。
请指导我如何做到这一点。删除Mysql表中的重复行并只保留一行
UPDATE:
我需要,我在phpMyAdmin运行SQL查询。
这里是一个粗略的表格来理解。
假设表名是foo。
+---------------------------------------------------------------------+
| id | link | title | description |
+---------------------------------------------------------------------+
| 1 | google | search engine | search here free |
| 2 | yahoo | also search engine | findout web easily |
| 3 | Facebook| connect with world | meet with world |
| 4 | google | search engine | search here free |
| 5 | msn | Microsoft network | network by MS |
| 6 | google | search engine | search here free |
| 7 | msn | Microsoft network | network by MS |
| 8 | yahoo | also search engine | findout web easily |
| 9 | myweb | my website | ideal website |
|... | .... | .....continue.... | ..... ... ..... |
+---------------------------------------------------------------------+
这是一个粗略的表格,我不能完全定义我的表,因为它有一轮50多
rows.Hope这个你明白我想要什么。
我这样粗略的查询。
DELECT all duplicate rows FROM foo
编辑
我看到这个questoin被标记为duplicate.But我认为这是unique.The链接这个你比较它dulpicate.I看到这个链接,并存在被标记为有用的答案对于小型表格,它会对索引进行更改并创建唯一索引。这里是一个
ALTER IGNORE TABLE jobs ADD UNIQUE INDEX idx_name (site_id, title, company);
代码如果您运行在此之后该查询时,无论你增加任何数据Mysql的检查,如果目前它停下来加入这个它已经存在。
我已经告诉过你,如果使用这个查询,我的表包含一个大数据,然后我在表格中添加一个结果,它检查我的整个表格,在这个表格的大约500000行中,这使得它变得很慢。只有一个新的记录,如果这是10或你的想法是什么,如果我想输入100000条新记录,它会变得太慢。
我看到其他答案大部分都包含HAVING
class.It已经很慢了。
请给我们您的架构信息,以便提供有用查询你使用。 – idipous
没有足够的信息。但如果你谷歌的“SQL删除重复”,你会发现足够的自己找出来。 – dkretz
更新了我的回复,并附上了您添加的表格详细信息。 – Kickstart