Dans une table [membre], certaines lignes ont la même valeur pour la email
colonne.
login_id | email
---------|---------------------
john | john123@hotmail.com
peter | peter456@gmail.com
johnny | john123@hotmail.com
...
Certaines personnes ont utilisé un identifiant de connexion différent mais la même adresse e-mail, aucune contrainte unique n'a été définie sur cette colonne. Maintenant, je dois trouver ces lignes et voir si elles doivent être supprimées.
Quelle instruction SQL dois-je utiliser pour rechercher ces lignes? (MySQL 5)
count(1)
fonctionne aussi bien et est plus performant. (count(1)
stackoverflow.com/questions/2710621/…la source
Voici une requête pour trouver ceux
email
qui sont utilisés pour plus d'unlogin_id
:Vous aurez besoin d'une seconde requête (imbriquée) pour obtenir la liste de
login_id
byemail
.la source
La première partie de la réponse acceptée ne fonctionne pas pour MSSQL.
Cela a fonctionné pour moi:
la source
utilisez-le si votre colonne e-mail contient des valeurs vides
la source
Je sais que c'est une très vieille question, mais c'est plus pour quelqu'un d'autre qui pourrait avoir le même problème et je pense que c'est plus précis à ce qui était voulu.
Cela renverra tous les enregistrements qui ont [email protected] comme valeur login_id.
la source
Merci les gars :-) J'ai utilisé ce qui suit parce que je ne me souciais que de ces deux colonnes et pas tellement du reste. Fonctionne très bien
la source
Obtenez l'intégralité de l'enregistrement comme vous le souhaitez en utilisant la condition avec la requête de sélection interne.
la source