Fwd: RV: Trayendo repetidos

From: "Guillermo O(dot) Burastero" <linux(dot)gb(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Fwd: RV: Trayendo repetidos
Date: 2006-03-02 20:09:21
Message-ID: 8deaabc60603021209q5113b7bdg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

---------- Forwarded message ----------
From: Guillermo O. Burastero <linux(dot)gb(at)gmail(dot)com>
Date: 02-mar-2006 16:53
Subject: Re: [pgsql-es-ayuda] RV: Trayendo repetidos
To: Miguel Angel <mvillagomez(at)sayab(dot)com(dot)mx>

El día 2/03/06, Miguel Angel <mvillagomez(at)sayab(dot)com(dot)mx> escribió:
>
>
>
> Habrá algún comando dentro de postresql que me devuelva solo los elementos
> repetidos dentro de una tabla, o es necesario como pienso crear una función
> que los busque y necesariamente usar punteros?
>
Una simple consulta SQL.

Por ejemplo, sea la tabla prueba siguiente

select * from prueba order by nombre;
id | nombre
----+------------
4 | Belgrano
1 | O'Higgins
2 | O'Higgins
6 | San Martín
3 | San Martín
10 | San Martín
5 | Sarmiento
(7 filas)

La consulta siguiente te da la tuplas repetidas (con el mismo nombre)
select * from prueba where nombre in (select nombre from prueba group by
nombre having count(*) > 1 ) order by nombre ;
id | nombre
----+------------
1 | O'Higgins
2 | O'Higgins
6 | San Martín
3 | San Martín
10 | San Martín
(5 filas)

Si querés saber cuantas repeticiones hay de cada uno basta con

select nombre, count(*) from prueba group by nombre having count(*) > 1
order by count(*) ;
nombre | count
------------+-------
O'Higgins | 2
San Martín | 3

Los ordenamientos en estos casos son por estética.

Saludos.

--
Guillermo O. Burastero

--
Guillermo O. Burastero

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-03-02 20:19:50 Re: Trayendo repetidos
Previous Message Juan Martínez 2006-03-02 19:46:17 Re: Error raro con copy