温馨提示×

数据库如何删除重复数据

小亿
141
2023-08-04 15:52:08
栏目: 大数据

要删除重复数据,可以使用以下方法之一:

  1. 使用DISTINCT关键字获取不重复的数据,并将其插入到新的表中,然后删除原始表,最后将新表重命名为原始表的名称。
CREATE TABLE new_table AS
SELECT DISTINCT * FROM original_table;
DROP TABLE original_table;
ALTER TABLE new_table RENAME TO original_table;
  1. 使用ROW_NUMBER()函数和CTE(通用表达式)来标记重复行,然后删除标记不为1的行。
WITH cte AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY column1, column2, ... ORDER BY column1) AS rn
FROM original_table
)
DELETE FROM cte WHERE rn > 1;
  1. 使用INNER JOIN语句将重复的行与自身进行连接,然后删除重复的行。
DELETE FROM original_table
WHERE (column1, column2, ...) IN (
SELECT column1, column2, ...
FROM original_table
GROUP BY column1, column2, ...
HAVING COUNT(*) > 1
);

以上方法需要根据具体的数据库系统和表结构进行调整。在执行删除操作之前,建议先备份数据以防止意外情况的发生。

0