> Faqs > SQL para contar los registros que tienen un campo con valor repetido

SQL para contar los registros que tienen un campo con valor repetido

Tengo una tabla en mysql con datos y quiero hacer una consulta select SQL para saber qué registros tienen el valor de un campo repetido. Por ejemplo, tengo una tabla de usuarios, los usuarios tienen email y quiero saber qué usuarios tienen el email repetido.

Respuestas

Para hacer esto necesitas hacer una sentencia SQL en la que selecciones los usuarios y los cuentes. Luego agrupas por email de usuario y utilizas la cláusula having para restringir los usuarios cuya cuenta ha sido mayor que uno.

Lo mejor es verlo con un ejemplo:

select email, count(email)
from usuario
group by email
having count(email)>1

Supongo que esto resuelve tu duda.

Alvaro Everlet
Funciona: SELECT T1.email, count(*) as cuenta FROM usuario T1 GROUP BY T1.email HAVING count(*) > 1 ORDER BY cuenta desc ;