Re: selecting duplicate records

Поиск
Список
Период
Сортировка
От Christopher Browne
Тема Re: selecting duplicate records
Дата
Msg-id m3r8282o4s.fsf@wolfe.cbbrowne.com
обсуждение исходный текст
Ответ на Re: selecting duplicate records  (Christoph Haller <ch@rodos.fzk.de>)
Ответы Re: selecting duplicate records
Список pgsql-sql
The world rejoiced as ch@rodos.fzk.de (Christoph Haller) wrote:
>> 1. How to select duplicate records only from a single table using a
> select
>> query.
>>
> e.g.
> select sid,count(sid) from location group by sid having count(sid)>1;
>
> Do you get the idea?
> Your request is pretty unspecific, so if this is not what you're asking
> for,
> try again.

The aggregate is likely to perform horrifically badly.  Here might
be an option:

Step 1.  Find all of the duplicates...

select a.* into temp table sid from some_table a, some_table b where a.oid < b.oid and   a.field1 = b.field1 and
a.field2= b.field2 and   a.field3 = b.field3 and    ...   a.fieldn = b.fieldn;
 

Step 2.  Look for the matching entries in the source table...

select a.* from some_table a, sid b where   a.field1 = b.field1 and   a.field2 = b.field2 and   a.field3 = b.field3 and
  ...   a.fieldn = b.fieldn;
 

[There's a weakness here; if there are multiple dupes, they may get
picked multiple times in the second query :-(.]
-- 
If this was helpful, <http://svcs.affero.net/rm.php?r=cbbrowne> rate me
http://cbbrowne.com/info/rdbms.html
As Will Rogers would have said, "There is no such thing as a free
variable."  -- Alan Perlis


В списке pgsql-sql по дате отправления:

Предыдущее
От: Rudi Starcevic
Дата:
Сообщение: unsubscribe
Следующее
От: Joe Conway
Дата:
Сообщение: Re: Oracle 'connect by prior' now eaiser in 7.3?