温馨提示×

sql重复行数据怎么删除

sql
小亿
133
2023-12-20 04:34:59
栏目: 云计算

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

  1. 使用DISTINCT关键字:SELECT DISTINCT * FROM 表名,这将返回无重复行的结果集。然后可以将该结果集插入到新表中,再将原表删除,最后将新表重命名为原表。

  2. 使用GROUP BY和HAVING子句:SELECT * FROM 表名 GROUP BY 列名 HAVING COUNT(*) > 1,这将返回重复的行数据。然后可以使用DELETE语句删除这些重复的行。

  3. 使用ROW_NUMBER()函数:WITH CTE AS (SELECT *, ROW_NUMBER() OVER(PARTITION BY 列名 ORDER BY 列名) AS RN FROM 表名) DELETE FROM CTE WHERE RN > 1,这将删除重复的行数据,只保留每组重复行中的一行。

请注意,在执行删除操作之前,一定要先备份数据,以防意外情况发生。

0