That's the ticket.. thanks so much.
Allen
>Allen,
>
>How about
>
>
>select * from lineitems ;
>where lineitems_id IN (select lineitems_id from lineitems ;
> group by 1 ;
> having count(lineitems_id) > 1) ;
>order by lineitems_id ;
>into cursor curDupes
>
>
>
>>>
>>>Hi,
>>>>>>Can someone help me with the SQL to find all duplicates in a field?
>>>>>>Thanks,
>>>>>>Allen
>>>>>select KeyFld, count(*) as CntDups from TestDups group by 1 ;
>>>>> having CntDups > 1 ;
>>>>> into cursor curDupes
>>>>>
>>>>
>>>>Sorry but I did get it...
>>>>Keyfld for me is lineitems_id
>>>>TestDups table is lineitems
>>>>What's CntDups... a variable?
>>>>
>>>>Allen>>>
>>>
>>>CntDups becomes a calculated field in your query result (cursor).
>>>Basically you are saying to group by "lineitems_id" and count how many show up. Then disregard the ones that show up only once and show only 2 or more instances ("having CntDups > 1").
>>>
>>>
>>>select lineitems_id, count(*) as CntDups ;
>>>from lineitems ;
>>>group by 1 ;
>>>having CntDups > 1 ;
>>>into cursor curDupes
>>>
>>>
>>>Clearer?
>>
>>Thank you. It's clearer and works but I needed another thing...
>>What you gave me shows the duplicate record and the times it's duplicated, but I was trying to get the duplicate records, record by record. So that each record is listed.
>>Thanks,
>>Allen