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.
¿Escribir código en un comentario? Utilice ide.geeksforgeeks.org , genere un enlace y compártalo aquí.
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