En una tabla [miembro], algunas filas tienen el mismo valor para la email
columna.
login_id | email
---------|---------------------
john | john123@hotmail.com
peter | peter456@gmail.com
johnny | john123@hotmail.com
...
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 deberían eliminarse.
¿Qué instrucción SQL debo usar para encontrar estas filas? (MySQL 5)
count(1)
funciona igual de bien y es más eficiente. (Aprendí ese truco de Stack Overflow ;-)count(1)
stackoverflow.com/questions/2710621/…fuente
Aquí hay una consulta para encontrar
email
los que se usan para más de unologin_id
:Necesitará una segunda consulta (de anidada) para obtener una lista de
login_id
poremail
.fuente
La primera parte de la respuesta aceptada no funciona para MSSQL.
Esto funcionó para mí:
fuente
use esto si su columna de correo electrónico contiene valores vacíos
fuente
Sé que esta es una pregunta muy antigua, pero es más para alguien más que podría tener el mismo problema y creo que es más preciso para lo que se quería.
Esto devolverá todos los registros que tengan [email protected] como valor de login_id.
fuente
Gracias chicos :-) Usé lo siguiente porque solo me importaban esas dos columnas y no tanto por el resto. Funcionó genial
fuente
Obtenga el registro completo como desee utilizando la condición con la consulta de selección interna.
fuente