Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Memadam Baris Pendua dengan Cekap dalam PostgreSQL Semasa Memelihara Satu Contoh?

Bagaimanakah Saya Boleh Memadam Baris Pendua dengan Cekap dalam PostgreSQL Semasa Memelihara Satu Contoh?

DDD
Lepaskan: 2025-01-06 10:04:41
asal
620 orang telah melayarinya

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

Memelihara Kejadian Unik dalam Pemadaman Baris Pendua

Apabila bekerja dengan set data yang besar, kadangkala perlu menghapuskan baris pendua. Walau bagaimanapun, dalam senario tertentu, adalah wajar untuk mengekalkan satu salinan bagi setiap baris pendua. Dalam kes sedemikian, pendekatan disasarkan diperlukan untuk melakukan pemadaman terpilih.

Memahami Masalah

Dalam PostgreSQL, situasi yang diterangkan melibatkan pemadaman semua kecuali satu contoh set daripada baris pendua. Contohnya, jika terdapat lima rekod dengan nilai yang sama, matlamatnya adalah untuk memadam empat daripadanya, meninggalkan satu rekod.

Mencari Penyelesaian

Penjelasan yang komprehensif isu ini disediakan dalam artikel "Mengalih keluar pendua daripada pangkalan data PostgreSQL." Pengarang menangani cabaran khusus untuk menangani sejumlah besar data yang tidak dapat dikumpulkan dengan berkesan.

Penyelesaian Mudah

Artikel mengesyorkan penyelesaian yang mudah:

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

Dalam pertanyaan ini, "cincang" mewakili medan atau gabungan medan yang sedang digunakan untuk menentukan pendua. Dengan menggunakan sama ada nilai minimum atau maksimum medan "id" untuk setiap kumpulan pendua, satu contoh boleh dikekalkan.

Pendekatan sasaran ini membolehkan pemadaman baris pendua yang cekap sambil mengekalkan satu salinan untuk rujukan atau analisis.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadam Baris Pendua dengan Cekap dalam PostgreSQL Semasa Memelihara Satu Contoh?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan