2011-04-11 36 views
1

我使用Access 2007年。如何刪除SQL中單個字段不同的重複記錄?

我有大約20字段的表。其中一個字段是自動編號ID,因此它是唯一的。我在這個表中有很多記錄,只有它們的自動編號ID不同。我不能只刪除那些有奇數或偶數的ID,因爲有些重複對有兩個賠率或兩個均值。關於如何從每一對中選擇一條記錄進行刪除的任何想法?

我知道這可能可以用VBA完成,但我對Access VBA還不是很熟悉,所以我正在尋找一個純粹的基於SQL的解決方案。

回答

2

刪除未分鐘的人(ID),由平均等效其他列分組。

+0

我無法弄清楚如何使用min()來得到我想要的東西,所以我結束了使用此: http://stackoverflow.com/questions/18932/sql-how-can -i-remove-duplicate-rows/18934#18934 但min()看起來很有用,謝謝指向我。 – sigil 2011-04-11 22:28:26

3
DELETE * 
FROM yourTable 
WHERE id NOT IN 
    (SELECT min(id) 
    FROM yourTable 
    GROUP BY field2 
      , filed3 
      , field4 
      , etc...  <--- all other fields, except id 
) 
相關問題