mysql 去重指定表中某列重复项

若表名为 "aaaaa",列名为 "name",可以使用以下 SQL 语句去除 "aaaaa" 表中 "name" 列中的重复项:

DELETE FROM aaaaa 
WHERE id NOT IN (
    SELECT id 
    FROM (
        SELECT MIN(id) as id 
        FROM aaaaa 
        GROUP BY name
    ) AS temp_table
);

在上面的 SQL 语句中,首先创建了一个名为 temp_table 的临时表,该临时表中只包含 "aaaaa" 表中 "name" 列的不同值中的最小 ID,然后在外部 SELECT 语句中查询 "aaaaa" 表中的所有记录,只保留 ID 在 temp_table 中存在的记录,即保留了 "name" 列的重复项中 ID 最小的记录,并删除了其它记录,达到了去重的目的。

猜你喜欢

转载自blog.csdn.net/u010522644/article/details/130103105