orcale删除重复行(相同记录只保留一条)

DELETE
FROM
	table  t
WHERE
	corp_name  IN 
		(
			SELECT
				corp_name
			FROM
				table
			GROUP BY
				corp_name
			HAVING
				COUNT(corp_name) > 1
		)
	AND ROWID NOT IN 
		(
			SELECT
				MIN(ROWID)
			FROM
				table
			GROUP BY
				corp_name
			HAVING
				COUNT(*) > 1
		);

如上所示,删除表中corp_name列重复的记录,只保留一条。


版权声明:本文为Getsunflowers原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。