How can find duplicate record in mysql?
by Root on Jul.29, 2008, under Mysql
Yeah. It looks simple if there is some unique column, but if not!!!
I search answer on web and i found something.
[MYSQL]
SELECT CONCAT( `firstname` , `lastname` ) as keyac , count( CONCAT( `firstname` , `lastname` ) ) AS numOfRecord FROM users
GROUP BY CONCAT( `firstname` , `lastname` ) HAVING ( COUNT( CONCAT( `firstname` , `lastname` ) ) >1 ) ORDER BY `numOfRecord` DESC;
[/MYSQL]
It looks firstname and lastname.
Mysql’de herhangi bir noktadan veri aktarırken yaşadığımız en büyük sorunlardan biri, 2 yada 3 kez tekrarlanmış kayıtlardır. Birbirinin aynı olan bu kayıtlar istatistik tutarken yada belirli özel işlemlerde sürekli olarak başımıza ekşir durur.
Normal şartlar altında 3-5 kayıtda sorun yaşamazken eğer kayıt sayınız artarsa bu türk kayıtları bulmak zorlaşır ve asıl yoğunlaşmanız gereken işe adapte olamazsınız.
Bu 2 yada daha fazla tekrarlayan (duplicate) kayıtlar için Aşağıda yazmış olduğum kodu kullanabilirsiniz.
[MYSQL]
SELECT CONCAT( `isim` , `soyisim` ) as keyac , count( CONCAT( `isim` , `soyisim` ) ) AS kayitsayi FROM kullanici
GROUP BY CONCAT( `isim` , `soyisim` ) HAVING ( COUNT( CONCAT( `isim` , `soyisim` ) ) >1 ) ORDER BY `kayitsayi` DESC;
[/MYSQL]
Bu kod isim ve soy isim benzerliği taşıyan kayıtları bulup listeler. Buna göre diğer işlemlerinizi yapabilirsiniz.