1. 程式人生 > 資料庫 >極其簡單的資料庫資料去重方式

極其簡單的資料庫資料去重方式

  • 首先根據需要的條件(groub by後的欄位為我們去重條件欄位)查出重複資料:
SELECT * FROM house_item a GROUP BY a.label,a.parent_code,a.`code`,a.unit,a.floor,a.house_number HAVING count( * ) > 1)
  • 因為限定了count(*)>1條件,所以我們如果把查出來的刪除,定然是會預設留一條的,直到返回影響條數為0即去重完畢,單次執行完整sql如下:
DELETE FROM house_item
WHERE id IN(
 SELECT a.id FROM
(SELECT * FROM house_item a GROUP BY a.label,a.parent_code,a.`code`,a.unit,a.floor,a.house_number HAVING count( * ) > 1) a)
  • 遞迴這個操作直到 Affected rows為0即完成去重,實現方式自定,業務程式碼或者其他方式自選。