Hi, It is faster to use RDB$DB_KEY to find and delete duplicates.
See more details here http://ib-aid.com/en/articles/how-to-find-and-delete-duplicate-records-in-firebird-database/ Regards, Alexey Kovyazin IBSurgeon
I had finally figured it out just before your reply SELECT DISTINCT P.SOC_SEC_NO, (SELECT COUNT(*) FROM PERSON P2 WHERE P2.SOC_SEC_NO = P.SOC_SEC_NO) AS CNT FROM PERSON P WHERE P.SOC_SEC_NO IS NOT NULL GROUP BY 1 HAVING (SELECT COUNT(*) FROM PERSON P3 WHERE P3.SOC_SEC_NO = P.SOC_SEC_NO) > 1 This appears to work. See anything that I should change? -----Original Message----- From: firebird-support@yahoogroups.com [mailto:firebird-support@yahoogroups.com] Sent: Thursday, February 04, 2016 1:25 PM To: firebird-support@yahoogroups.com Subject: Re: [firebird-support] How do find duplicates in a table? 04.02.2016 20:09, 'stwizard' stwiz...@att.net [firebird-support] wrote: > How do I form a SQL Select statement that will return which records in > my PERSON table have duplicate SOC_SEC_NO. RTFM GROUP BY, HAVING, COUNT(). -- WBR, SD.