Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Temukan baris duplikat di database

Ini harus bekerja pada hampir semua dialek SQL:

SELECT last_name, first_name FROM names
WHERE last_name IN (
    SELECT last_name FROM names GROUP BY last_name HAVING COUNT(*) > 1
)

Ini akan memberi Anda set hasil seperti ini:

Smith     Jack
Smith     Joe
Smith     Anna
Sixpack   Joe
Sixpack   Eve

Solusi paling elegan untuk menampilkan ini dalam format IMO yang diinginkan adalah dengan hanya mengatur ulang hasil yang ditetapkan secara terprogram dalam aplikasi klien alih-alih menarik segala macam aksi SQL yang tidak jelas; sesuatu seperti (kode semu):

for each row in resultset
   if row[last_name] <> previous_last_name
      print newline, print last_name
   print ' '
   print first_name


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan Alias ​​​​dalam kueri yang mengakibatkan perintah tidak berakhir dengan benar

  2. NVL() Fungsi di Oracle

  3. bagaimana saya mendefinisikan urutan dalam proyek saya (yang menggunakan hibernate) dengan cara bahwa proyek bekerja dengan Oracle dan Mysql.

  4. Menggunakan Layanan Heterogen Oracle® dengan Dua Sumber Data ODBC

  5. Oracle Query untuk menggulung QTY berdasarkan Tahun - hanya 3 tahun terakhir