Alih keluar pendua tanpa pengecam unik: penyelesaian Netezza
Dalam jadual Netezza yang besar, mengalih keluar baris pendua boleh menjadi tugas yang sukar tanpa pengecam unik. Walaupun pertanyaan SQL yang disediakan mungkin berfungsi dalam pangkalan data lain, ia gagal dalam Netezza disebabkan oleh pengehadan klausa DELETE selepas pernyataan WITH.
Untuk mengatasi cabaran ini, kami mencadangkan pendekatan alternatif menggunakan kata kunci MENGGUNAKAN. Pertanyaan Netezza berikut boleh mengalih keluar baris pendua dengan lancar:
<code class="language-sql">DELETE FROM table_with_dups T1 USING table_with_dups T2 WHERE T1.ctid < T2.ctid AND T1.column1 = T2.column1 AND T1.column2 = T2.column2 -- ... add more AND conditions for other columns as needed ...</code>
Begini cara ia berfungsi:
T1.ctid < T2.ctid
memastikan hanya satu daripada baris pendua dipadamkan. Anda boleh melihat pendua dengan menggantikan DELETE dengan SELECT * dan USING dengan koma (,) sebelum melaksanakan DELETE:
<code class="language-sql">SELECT * FROM table_with_dups T1, table_with_dups T2 WHERE T1.ctid < T2.ctid AND T1.column1 = T2.column1 AND T1.column2 = T2.column2 -- ... add more AND conditions for other columns as needed ...</code>
Secara keseluruhannya, pertanyaan Netezza ini menyediakan penyelesaian yang cekap untuk mengalih keluar baris pendua tanpa pengecam unik, tanpa memerlukan subkueri atau fungsi tetingkap yang kompleks.
Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris Pendua dalam Netezza Tanpa Pengecam Unik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!