In einer [member] -Tabelle haben einige Zeilen denselben Wert für die email
Spalte.
login_id | email
---------|---------------------
john | john123@hotmail.com
peter | peter456@gmail.com
johnny | john123@hotmail.com
...
Einige Benutzer verwendeten eine andere Anmelde-ID, aber dieselbe E-Mail-Adresse. Für diese Spalte wurde keine eindeutige Einschränkung festgelegt. Jetzt muss ich diese Zeilen finden und sehen, ob sie entfernt werden sollten.
Welche SQL-Anweisung sollte ich verwenden, um diese Zeilen zu finden? (MySQL 5)
count(1)
funktioniert genauso gut und ist performanter. (Gelernt , dass Trick von Stack - Überlauf ;-)count(1)
stackoverflow.com/questions/2710621/…quelle
Hier ist eine Abfrage, um zu finden
email
, welche für mehr als eine verwendet werdenlogin_id
:Sie benötigen eine zweite (verschachtelte) Abfrage, um eine Liste
login_id
von zu erhaltenemail
.quelle
Der erste Teil der akzeptierten Antwort funktioniert nicht für MSSQL.
Das hat bei mir funktioniert:
quelle
Verwenden Sie diese Option, wenn Ihre E-Mail-Spalte leere Werte enthält
quelle
Ich weiß, dass dies eine sehr alte Frage ist, aber dies ist mehr für jemanden, der möglicherweise das gleiche Problem hat, und ich denke, dass dies genauer ist als das, was gewünscht wurde.
Dies gibt alle Datensätze zurück, die [email protected] als login_id-Wert haben.
quelle
Danke Jungs :-) Ich habe das Folgende benutzt, weil ich mich nur um diese beiden Spalten gekümmert habe und nicht so sehr um den Rest. Hat super funktioniert
quelle
Rufen Sie den gesamten Datensatz mit der Bedingung mit innerer Auswahlabfrage nach Ihren Wünschen ab.
quelle