Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana menemukan duplikat di MySQL

Akan mengembalikan semua catatan yang memiliki dups:

SELECT theTable.*
FROM theTable
INNER JOIN (
  SELECT link, size
  FROM theTable 
  GROUP BY link, size
  HAVING count(ID) > 1
) dups ON theTable.link = dups.link AND theTable.size = dups.size

Saya suka subquery b/c saya bisa melakukan hal-hal seperti pilih semua kecuali yang pertama atau terakhir. (sangat mudah untuk mengubahnya menjadi kueri penghapusan).

Contoh:pilih semua rekaman duplikat KECUALI yang memiliki ID maksimal:

SELECT theTable.*
FROM theTable
INNER JOIN (
  SELECT link, size, max(ID) as maxID
  FROM theTable 
  GROUP BY link, size
  HAVING count(ID) > 1
) dups ON theTable.link = dups.link 
          AND theTable.size = dups.size 
          AND theTable.ID <> dups.maxID


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHPExcel Render tag html di baris tabel mysql

  2. Bagaimana cara menjalankan dua kueri mysql sebagai satu di PHP/MYSQL?

  3. Data Hirarki - Model Kumpulan Bersarang:MySql

  4. SQL:Ulangi baris hasil beberapa kali, dan beri nomor baris

  5. Pertandingan melawan foo.bar (dengan titik/titik penuh)