• Publicidad

Clausula contraria a DISTINCT

Todo acerca de las bases de datos que existen: SQL, MySQL, Oracle, Postgres, CSV, etc.

Clausula contraria a DISTINCT

Notapor rookie » 2006-05-30 12:09 @548

Saludos a todos.
Con la claúsula DISTINCT puedo seleccionar los registros no repetidos en una tabla.

¿Cuál sería la claúsula contraria, para seleccionar los registros repetidos en una tabla?

Gracias de antemano por el tip . Hasta pronto.
rookie
Perlero nuevo
Perlero nuevo
 
Mensajes: 41
Registrado: 2006-03-01 18:48 @825

Publicidad

Notapor kidd » 2006-05-30 16:33 @731

Hola:

Lo que puedes hacer es agrupar en base de un campo o varios campos y seleccionar los repetidos, por ejemplo, dígamos que tienes una tabla:

Código: Seleccionar todo
id
nombre
pais


Quieres ver si hay nombre repetidos:

Código: Seleccionar todo
SELECT nombre,COUNT(*) AS r FROM tabla WHERE r>1 GROUP BY nombre ORDER BY r DESC


Lo que hace es que te muestra los nombres que han sido repetidos y la cantidad de repeticiones que hay en la tabla.

También lo puedes agrupar por más campos, dígamos los que tengan el mismo nombre y en el mismo país:

Código: Seleccionar todo
SELECT nombre,COUNT(*) AS r FROM tabla WHERE r>1 GROUP BY nombre,pais ORDER BY r DESC



Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor explorer » 2006-05-30 16:37 @734

Supongamos que tenemos una tabla (llamada tabla) con un campo llamado titulo y queremos sacarles agrupados y cuántas veces aparecen cada uno de ellos.

La siguiente instrucción SQL lo dará:
Código: Seleccionar todo
select titulo, count(*) from tabla GROUP BY titulo;


Si queremos sacarles ordenados por el campo titulo:
Código: Seleccionar todo
select titulo, count(*) from tabla GROUP BY titulo ORDER BY titulo;


Y si queremos sacarles ordenados según las veces que se repiten:
Código: Seleccionar todo
select titulo, count(*) AS veces from tabla GROUP BY titulo ORDER BY veces;
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Bases de datos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado