Repaso
English
Bases de datos y SQLIntermedioDB-46

¿Qué consulta encuentra emails duplicados en una tabla users?

Opciones

  1. SELECT email, COUNT(*) FROM users GROUP BY email HAVING COUNT(*) > 1 (Opción correcta)
  2. SELECT DISTINCT email, COUNT(*) FROM users ORDER BY email DESC
  3. SELECT email FROM users WHERE COUNT(email) > 1 GROUP BY email
  4. SELECT email FROM users GROUP BY id HAVING COUNT(email) > 1

Respuesta

SELECT email, COUNT(*) FROM users GROUP BY email HAVING COUNT(*) > 1

Por qué

Agrupa las filas por email, cuenta cuántas hay en cada grupo y conserva solo los grupos con más de una fila. Se usa HAVING porque el filtro se aplica al resultado agregado (WHERE no puede usar COUNT).

Para evitar duplicados en el futuro, añade una restricción UNIQUE en email.

Recuerda

Duplicados: GROUP BY col HAVING COUNT(*) > 1.

Términos clave

Practica esta pregunta en Repaso