MySQL删除包含重复内容的行

时间:2013-01-01 11:38:32

标签: php mysql

  

可能重复:
  Remove duplicate rows in MySQL
  Delete all Duplicate Rows except for One in MySQL?

这就是我的表格的样子

1 | 1 | Hello
1 | 2 | Hello
1 | 3 | Hello
1 | 4 | some text
1 | 5 | text
1 | 6 | text

如何删除所有重复的行,只留下最后一行;例如:

1 | 3 | Hello
1 | 4 | some text
1 | 6 | text

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

DELETE  a
FROM    tableName a
        LEFT JOIN
        (
            SELECT col3, col1, MAX(col2) maxCol
            FROM tableName
            GROUP BY col3, col1
        ) b ON a.col1 = b.col1 AND
                a.col2 = b.maxCol AND
                a.col3 = b.col3
WHERE   b.col1 IS NULL