1. 程式人生 > >SQL刪除重複資料,保留ID最大的一條

SQL刪除重複資料,保留ID最大的一條

在資料庫中可能會存在重複資料,需要刪除並且保留其中一條 ,這裡我們保留其中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 對這些資料執行刪除