W tabeli [element członkowski] niektóre wiersze mają tę samą wartość dla email
kolumny.
login_id | email
---------|---------------------
john | john123@hotmail.com
peter | peter456@gmail.com
johnny | john123@hotmail.com
...
Niektóre osoby używały innego login_id, ale tego samego adresu e-mail, w tej kolumnie nie ustawiono żadnego wyjątkowego ograniczenia. Teraz muszę znaleźć te wiersze i sprawdzić, czy powinny zostać usunięte.
Jakiej instrukcji SQL należy użyć, aby znaleźć te wiersze? (MySQL 5)
count(1)
działa równie dobrze i jest bardziej wydajny. (Nauczyłem się tej sztuczki z Przepełnienia stosu ;-)count(1)
stackoverflow.com/questions/2710621/…źródło
Oto zapytanie, które pozwala znaleźć
email
więcej niż jedenlogin_id
:Będziesz potrzebować drugiego (zagnieżdżonego) zapytania, aby uzyskać listę
login_id
wedługemail
.źródło
Pierwsza część zaakceptowanej odpowiedzi nie działa dla MSSQL.
To działało dla mnie:
źródło
użyj tego, jeśli kolumna e-mail zawiera puste wartości
źródło
Wiem, że to bardzo stare pytanie, ale dotyczy to kogoś innego, kto może mieć ten sam problem, i myślę, że jest to bardziej dokładne w stosunku do tego, czego chciał.
Spowoduje to zwrócenie wszystkich rekordów, które mają wartość [email protected] jako wartość id_logowania.
źródło
Dzięki chłopaki :-) Użyłem poniżej, ponieważ zależało mi tylko na tych dwóch kolumnach, a nie na reszcie. Działa świetnie
źródło
Uzyskaj cały rekord, jak chcesz, używając warunku z wewnętrznym zapytaniem select.
źródło