PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Hapus duplikat dari tabel

Ini adalah salah satu dari banyak alasan mengapa semua tabel harus memiliki kunci utama (tidak harus nomor ID atau IDENTITAS, tetapi kombinasi dari satu atau lebih kolom yang secara unik mengidentifikasi baris dan keunikannya diterapkan dalam database).

Taruhan terbaik Anda adalah seperti ini:

SELECT field1, field2, field3, count(*) 
INTO temp_table1
FROM table1
GROUP BY field1, field2, field3 having count(*) > 1

DELETE T1
FROM table1 T1
INNER JOIN (SELECT field1, field2, field3
      FROM table1
      GROUP BY field1, field2, field3 having count(*) > 1) SQ ON
            SQ.field1 = T1.field1 AND
            SQ.field2 = T1.field2 AND
            SQ.field3 = T1.field3

INSERT INTO table1 (field1, field2, field3)
SELECT field1, field2, field3
FROM temp_table1

DROP TABLE temp_table1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. KESALAHAN:izin ditolak untuk nama tabel relasi di Postgres saat mencoba SELECT sebagai pengguna hanya-baca

  2. Bagaimana mengubah pengkodean koleksi database template

  3. ECONNREFUSED untuk Postgres pada nodeJS dengan buruh pelabuhan

  4. Cara membuat daftar tabel dalam database saat ini menggunakan PostgreSQL

  5. Bagaimana mencegah penghapusan baris pertama dalam tabel (PostgreSQL)?