RE: Re[2]: [SQL] Query to eliminate duplicates - Mailing list pgsql-sql

From Mario Filipe
Subject RE: Re[2]: [SQL] Query to eliminate duplicates
Date
Msg-id XFMail.981203150750.mjnf@uevora.pt
Whole thread Raw
In response to Re[2]: [SQL] Query to eliminate duplicates  (Sferacarta Software <sferac@bo.nettuno.it>)
Responses Re: Re[2]: [SQL] Query to eliminate duplicates
List pgsql-sql
On 03-Dec-98 Sferacarta Software wrote:
> Hello Mario,
>
> giovedì, 3 dicembre 98, you wrote:
>
>
> MF> On 02-Dec-98 Sferacarta Software wrote:
>>> MF> Is there a way to eliminate duplicate records using just SQL?
>>>
>>> SELECT DISTINCT ...
>
> MF>         I deserved that!
>
> MF>         The problem is that i have a table where there are duplicate
> records
> MF> and i want to delete them! I tryed creating a unique index but it told me
> it
> MF> couldn't because it didn't have a function to do something (I think it is
> MF> because i had a boolean field in it)
>
>
> select * from TABELA where COLUNA in (
>      select COLUNA from TABELA group by COLUNA having 1 < count(COLUNA)
>      );
>
        This would work (i believe you) but in my case i'm looking into a table
where there are at least 3 columns to look at!

        It's a table where I keep the information about wich are the
disciplines where a student is enrolled:

        Ex:

numero_aluno|codigo_disciplina|ano_lectivo|epoca|semestre
------------+-----------------+-----------+-----+--------
       10335|             1207|1998/1999  |    1|f
       10335|             1208|1998/1999  |    1|f
       10335|             1209|1998/1999  |    1|f
       10335|             1203|1998/1999  |    1|f
       10335|             1205|1998/1999  |    1|f
       10335|             1212|1998/1999  |    1|f
       10335|             1213|1998/1999  |    1|f
       10335|             1215|1998/1999  |    1|f


In this case there are no duplicates but in this one there are:

numero_aluno|codigo_disciplina|ano_lectivo|epoca|semestre
------------+-----------------+-----------+-----+--------
       13427|               35|1998/1999  |    1|t
       13427|              904|1998/1999  |    1|f
       13427|              122|1998/1999  |    1|t
       13427|              907|1998/1999  |    1|f
       13427|              481|1998/1999  |    1|f
       13427|              286|1998/1999  |    1|t
       13427|              368|1998/1999  |    1|t
       13427|               35|1998/1999  |    1|t
       13427|              904|1998/1999  |    1|f
       13427|              122|1998/1999  |    1|t


So a duplicate is actually a record that looks exactly like other record on the
table...

        Thanks for your help anyway

        Mario Filipe
        mjnf@uevora.pt
        http://neptuno.sc.uevora.pt/~mjnf

Attachment

pgsql-sql by date:

Previous
From: Sferacarta Software
Date:
Subject: Re[2]: [SQL] Query to eliminate duplicates
Next
From: Sferacarta Software
Date:
Subject: Re[2]: [SQL] Please help: How to determine largest of two numbers in a query?