2011-10-06 133 views
1

我有一些重複值的表,我想將其刪除:mysql,如何刪除重複的數據?

表1:

id | access  | num 
12  1144712030  101 
13  1144712030  101 
14  1154512035  102 
15  1154512035  102 

我想刪除重複的,所以我會離開:

id | access  | num 
12  1144712030  101 
14  1154512035  102 

任何想法如何在mysql命令中做到這一點?

感謝

+0

可能重複的[如何使用SQL查詢從表中刪除重複](http://stackoverflow.com/questions/7676110/how-to-remove-duplicates-from-table-using-sql-query) – mellamokb

回答

2

的更簡單的方案,我認爲應該是:

CREATE TABLE new_table as SELECT id,DISTINCT access,num FROM original_table 
TRUNCATE TABLE original_table 
INSERT INTO original_table SELECT * FROM new_table 
DROP TABLE new_table; 

注:

我覺得有些的遊標可以使用,也許一個臨時表。但你應該非常小心。

+0

是,我把它和新/舊混爲一談。我現在改了名字。 – santiagobasulto

0

做一個快速搜索這裏DELETE重複行

,你會發現一噸的例子。

1

如果您的表名爲foo,則在foo_old中重命名,重新創建表foo作爲與foo_old相同的結構。 使用獲得的DISTINCT運算符進行查詢,並在表foo_old上報告的結果在foo中輸入。