Найти повторяющиеся строки в базе данных - PullRequest
5 голосов
/ 10 декабря 2010

Мне нужно найти все строки в моей таблице, где строки определенного поля являются дубликатами в двух или более местах.

Может ли это быть сделано в стате MySQL?

EDIT

Мне нужно получить каждую строку, а не просто подсчет количества дубликатов. Я хочу иметь возможность редактировать поля.

Ответы [ 2 ]

8 голосов
/ 10 декабря 2010

Да, попробуйте что-то вроде этого:

SELECT *
FROM `YourTable`
WHERE `YourColumn` IN (
    SELECT `YourColumn`
    FROM `YourTable`
    GROUP BY `YourColumn`
    HAVING COUNT(*) > 1
)
5 голосов
/ 10 декабря 2010

Да, используя GROUP BY и HAVING.

SELECT mycolumn, count(*) FROM mytable
group by mycolumn
having count(*) > 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...