valores unicos traer solo repetir repetidos repetido registros registro mostrar eliminar duplicados dejando contar consulta agrupar sql mysql database

unicos - Buscar filas que tengan el mismo valor en una columna en MySQL



traer registros repetidos sql (6)

Aquí hay una consulta para encontrar email que se usan para más de un login_id :

SELECT email FROM table GROUP BY email HAVING count(*) > 1

Necesitará la segunda consulta (de anidado) para obtener la lista de login_id por email .

En una tabla [miembro], algunas filas tienen el mismo valor para la columna de email .

login_id | email ---------|--------------------- john | [email protected] peter | [email protected] johnny | [email protected] ...

Algunas personas usaron un login_id diferente pero la misma dirección de correo electrónico, no se estableció ninguna restricción única en esta columna. Ahora necesito encontrar estas filas y ver si deben eliminarse.

¿Qué instrucción SQL debería usar para encontrar estas filas? (MySQL 5)


Esta consulta le dará una lista de direcciones de correo electrónico y cuántas veces se usan, con las direcciones más utilizadas primero.

select email, count(*) as c from table group by email having c > 1 order by c desc

Si quieres las filas completas:

select * from table where email in ( select email from table group by email having count(*) > 1 )


Gracias chicos :-) Usé el siguiente porque solo me preocupaban esas dos columnas y no tanto por el resto. Funcionó bien

select email, login_id from table group by email, login_id having COUNT(email) > 1


La primera parte de la respuesta aceptada no funciona para MSSQL.
Esto funcionó para mí:

select email, COUNT(*) as C from table group by email having COUNT(*) >1 order by C desc


use esto si su columna de correo electrónico contiene valores vacíos

select * from table where email in ( select email from table group by email having count(*) > 1 and email != '''' )


select email from mytable group by email having count(*) >1