我有以下數據:SQL查詢保留最多2個重複記錄
Name ID Date
Dave | 123 | 1-2-2011
Jim | 123 | 1-3-2011
Mike | 123 | 1-10-2011
Bill | 111 | 1-2-2011
Henry | 222 | 1-3-2011
Larry | 222 | 1-4-2011
我需要刪除查詢此降低:
Jim | 123 | 1-3-2011
Mike | 123 | 1-10-2011
Bill | 111 | 1-2-2011
Larry | 222 | 1-4-2011
即我想保留兩個最新記錄爲每個ID。
我嘗試這樣做:
Delete FROM UserTable a
WHERE
Date <> (SELECT MAX(Date) FROM UserTable b WHERE a.ID = b.ID)
AND ID IN (SELECT ID FROM UserTable GROUP BY ID HAVING COUNT(*) > 1)
但只保留最新的1分獨特的記錄。
我不是你問清楚的記錄。 「2個最新記錄是重複的」是什麼意思?什麼將記錄定義爲「獨特」(不應該以某種方式通過唯一記錄來記錄所有記錄?我不明白爲什麼Dave的記錄不在輸出中,而Bill則是。 – 2014-10-08 14:03:31
在問題中包含您的查詢會有幫助 – 2014-10-08 14:04:22
我認爲該帖子要求爲每個(col2)最近的2個條目(col3)組成一個集合,但我不確定這個主題與此有什麼關係,因爲5可能因記錄數量而異。 。 – xQbert 2014-10-08 14:06:40