使用了ROW_NUMBER() 函数和一个公共表表达式(Common Table Expression,CTE)来为每条记录分配一个行号,并按照指定的列进行分组。最后,我们删除行号大于1的记录,即保留第一条记录,删除重复数据。
WITH cte AS (
SELECT field1,filed2, ROW_NUMBER() OVER(PARTITION BY field1,field2 ORDER BY (SELECT 0)) AS rn
FROM table_name where field1= ''
)
DELETE FROM cte
WHERE rn > 1;
field1,field2:字段;table_name:表名;