SQL删除重复数据,保留ID最大的一条

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ao123056/article/details/83343762

在数据库中可能会存在重复数据,需要删除并且保留其中一条 ,这里我们保留其中id最大的一条

DELETE 
FROM
	T_Dat_BankData 
WHERE
	BankCode IN ( SELECT BankCode FROM T_Dat_BankData GROUP BY BankCode HAVING COUNT ( BankCode ) > 1 ) 
	AND ID NOT IN (
	SELECT MAX
		( ID ) 
	FROM
		T_Dat_BankData 
	GROUP BY
		BankCode 
	HAVING
	COUNT ( BankCode ) > 1)

如上代码中,是删除银行表中的重复数据,根据银行行号分组并删除重复数据保留ID最大的一条。

主要逻辑就是删除表中按银行编码分组大于一条而且ID不是最大的ID 对这些数据执行删除

猜你喜欢

转载自blog.csdn.net/ao123056/article/details/83343762