Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Padamkan Baris Pendua dalam PostgreSQL Semasa Memelihara Salinan Tunggal?

Bagaimanakah Saya Boleh Padamkan Baris Pendua dalam PostgreSQL Semasa Memelihara Salinan Tunggal?

Linda Hamilton
Lepaskan: 2025-01-06 10:05:40
asal
131 orang telah melayarinya

How Can I Delete Duplicate Rows in PostgreSQL While Preserving a Single Copy?

Memelihara Salinan Tunggal: Memadam Baris Pendua Tidak Sama

Mengekalkan integriti data selalunya melibatkan pengalihan keluar rekod berlebihan daripada pangkalan data. Walau bagaimanapun, dalam senario tertentu, satu salinan bagi setiap kumpulan baris pendua mungkin perlu disimpan. Artikel ini menangani cabaran untuk memadamkan semua kecuali satu baris daripada set pendua dalam PostgreSQL.

Penyelesaian: Pemadaman Terpilih Menggunakan Pengecam Unik

Pertanyaan yang disediakan dalam penyelesaian menggunakan konsep pengelompokan dan memilih nilai minimum (atau maksimum) medan pengecam unik dalam setiap kumpulan pendua. Dengan mengecualikan baris dengan pengecam minimum (atau maksimum) itu daripada proses pemadaman, satu salinan bagi setiap baris unik boleh disimpan.

Pertanyaan berikut menunjukkan pendekatan ini:

DELETE FROM foo
WHERE id NOT IN (SELECT min(id) FROM foo GROUP BY hash);
Salin selepas log masuk

Dalam pertanyaan ini, medan cincang mewakili ciri unik atau gabungan ciri yang mentakrifkan set pendua. Dengan memilih nilai id minimum daripada setiap kumpulan, pertanyaan mengenal pasti baris yang akan dikekalkan dan mengecualikan baris pendua yang tinggal daripada pemadaman.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Padamkan Baris Pendua dalam PostgreSQL Semasa Memelihara Salinan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan