¿Cómo imprimir filas duplicadas en una tabla?

Consideremos la siguiente tabla.
Nombre Sección
a B C CS1
bcd CS2
a B C CS1

En la tabla anterior, podemos encontrar una fila duplicada usando la consulta a continuación.

SELECT name, section FROM tbl
GROUP BY name, section
HAVING COUNT(*) > 1

Otro ejemplo:
Dada una tabla llamada PERSONA, la tarea es escribir una consulta SQL para encontrar todos los nombres duplicados en la tabla.
Ejemplo :

+----+---------+
| Id | NAME    |
+----+---------+
| 1  | Geeks   |
| 2  | for     |
| 3  | Geeks   |
+----+---------+

Output :
+---------+
| NAME    |
+---------+
| Geeks   |
+---------+

El enfoque simple es hacer una tabla temporal que cuente todos los nombres en una tabla.

El NOMBRE duplicado existió más de una vez, por lo que para contar las veces que existe cada NOMBRE, podemos usar el siguiente código:

select NAME, count(NAME) as num
from Person
group by NAME;
| NAME    | num |
|---------|-----|
| Geeks   | 2   |
| for     | 1   |

Esta es una tabla temporal, en la que podemos ejecutar el siguiente código para obtener un NOMBRE duplicado.

select NAME from
(
  select NAME, count(NAME) as num
  from Person
  group by NAME
) as statistic
where num > 1;

El mejor enfoque es usar la condición GROUP BY y HAVING . Es más efectivo y más rápido que el anterior.

MySql:

select NAME
from Person
group by NAME
having count(NAME) > 1;

Este artículo es una contribución de Sahil Rajput . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *