* Prepare the table for the operation >>SELECT tableWithDuplicates >>ALTER TABLE ADD COLUMN lDuplicate L >> >>* Mark everything initially as a duplicate >>REPLACE ALL lDuplicate WITH .T. >> >>* Create an index of unique records >>INDEX ON my+Unique+Key+Fields UNIQUE TAG dupTemp >> >>* Mark every unique record as not being a duplicate (the nature of the INDEX ON command mandates that the UNIQUE records are top-most in row order) >>REPLACE ALL lDuplicate WITH .F. >> >>* Remove the index >>SET INDEX TO >> >>* The records which are marked lDuplicate = .T. are the second (and later) duplicates >> >>* Delete those records and then PACK, mark lDeleted = .T., or whatever... >> >>ALTER TABLE DROP COLUMN lDuplicate >>DELETE TAG dupTemp >>>Sorry Rick,