我使用Access 2007年。如何刪除SQL中單個字段不同的重複記錄?
我有大約20字段的表。其中一個字段是自動編號ID,因此它是唯一的。我在這個表中有很多記錄,只有它們的自動編號ID不同。我不能只刪除那些有奇數或偶數的ID,因爲有些重複對有兩個賠率或兩個均值。關於如何從每一對中選擇一條記錄進行刪除的任何想法?
我知道這可能可以用VBA完成,但我對Access VBA還不是很熟悉,所以我正在尋找一個純粹的基於SQL的解決方案。
我使用Access 2007年。如何刪除SQL中單個字段不同的重複記錄?
我有大約20字段的表。其中一個字段是自動編號ID,因此它是唯一的。我在這個表中有很多記錄,只有它們的自動編號ID不同。我不能只刪除那些有奇數或偶數的ID,因爲有些重複對有兩個賠率或兩個均值。關於如何從每一對中選擇一條記錄進行刪除的任何想法?
我知道這可能可以用VBA完成,但我對Access VBA還不是很熟悉,所以我正在尋找一個純粹的基於SQL的解決方案。
刪除未分鐘的人(ID),由平均等效其他列分組。
DELETE *
FROM yourTable
WHERE id NOT IN
(SELECT min(id)
FROM yourTable
GROUP BY field2
, filed3
, field4
, etc... <--- all other fields, except id
)
我無法弄清楚如何使用min()來得到我想要的東西,所以我結束了使用此: http://stackoverflow.com/questions/18932/sql-how-can -i-remove-duplicate-rows/18934#18934 但min()看起來很有用,謝謝指向我。 – sigil 2011-04-11 22:28:26