From: | Mario Filipe <mjnf(at)uevora(dot)pt> |
---|---|
To: | Sferacarta Software <sferac(at)bo(dot)nettuno(dot)it> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | RE: Re[2]: [SQL] Query to eliminate duplicates |
Date: | 1998-12-03 15:07:50 |
Message-ID: | XFMail.981203150750.mjnf@uevora.pt |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)uevora(dot)pt
http://neptuno.sc.uevora.pt/~mjnf
From | Date | Subject | |
---|---|---|---|
Next Message | Javier E Polo | 1998-12-03 19:08:49 | revoke!!! |
Previous Message | Sferacarta Software | 1998-12-03 14:47:01 | Re[2]: [SQL] Query to eliminate duplicates |