Nombre | Sección |
---|---|
abc | CS1 |
bcd | CS2 |
abc | CS1 |
En la tabla anterior, podemos encontrar una fila duplicada usando la siguiente consulta.
SELECT name, section FROM tblGROUP BY name, sectionHAVING 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 tenga el recuento de todos los nombres en una tabla.
El NOMBRE duplicado existió más de una vez, así que contar las veces cada NAME existe, podemos usar el siguiente código:
select NAME, count(NAME) as numfrom Persongroup by NAME;
| NAME | num ||---------|-----|| Geeks | 2 || for | 1 |
Esta es una tabla temporal, en el que podemos ejecutar el siguiente código para obtener un NOMBRE duplicado.
El mejor enfoque es usar la condición GROUP BY y HAVING. Es más eficaz y rápido que el anterior.
MySql:
select NAMEfrom Persongroup by NAMEhaving count(NAME) > 1;
Este artículo es una contribución de Sahil Rajput. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando contrib.geeksforgeeks.org o enviar tu artículo por correo a [email protected]. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.