Как найти повторяющиеся (не уникальные) записи в столбце(ах) базы данных?

Бывают случаи, когда нужно сделать уникальный индекс по столбцу, но не получается его создать, так как данные в столбце не уникальны.

В этом случае, чтобы узнать какие строки повторяются делаем такой запрос:

SELECT * FROM `table`, (SELECT `id`, `url` FROM `table`) as t1 WHERE `table`.`url` = t1.`url` AND `table`.`id` != t1.`id`

Так мы узнаем повторяющие строки в столбце url.

Если нужны не уникальные строки по двум и более столбцам, то немного меняем запрос:

SELECT * FROM `table`, (SELECT `id`, `url`, `name` FROM `table`) as t1 WHERE `table`.`url` = t1.`url` AND `table`.`name` = t1.`name` AND `table`.`id` != t1.`id`

Так мы узнаем повторяющие строки в столбцах url, name.

0 0 vote
Article Rating
Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x