Поиск повторяющихся значений в таблице SQL
Это легко найтиduplicates
с одним полем:
SELECT name, COUNT(email)
FROM users
GROUP BY email
HAVING COUNT(email) > 1
Так что, если у нас есть стол
ID NAME EMAIL
1 John [email protected]
2 Sam [email protected]
3 Tom [email protected]
4 Bob [email protected]
5 Tom [email protected]
Этот запрос даст намДжон, Сэм, Том, Том потому что все они имеют одинаковоеemail
.
Тем не менее, я хочу получить дубликаты с тем жеemail
а такжеname
.
То есть я хочу получить "Томь", "Томь".
Причина, по которой мне это нужно: я допустил ошибку и позволил вставить дубликатname
а такжеemail
ценности. Теперь мне нужноудалить / изменить дубликаты, так что мне нужнонаходить их в первую очередь.