Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memadam Baris Pendua dalam Netezza Tanpa Pengecam Unik?

Bagaimana untuk Memadam Baris Pendua dalam Netezza Tanpa Pengecam Unik?

DDD
Lepaskan: 2025-01-12 11:28:44
asal
737 orang telah melayarinya

How to Delete Duplicate Rows in Netezza Without a Unique Identifier?

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>
Salin selepas log masuk

Begini cara ia berfungsi:

  • Kata kunci USING mengaitkan dua jadual T1 dan T2, membolehkan kami melakukan operasi PADAM pada T1 sambil merujuk T2 untuk mengenal pasti pendua.
  • Keadaan T1.ctid < T2.ctid memastikan hanya satu daripada baris pendua dipadamkan.
  • Dan keadaan menentukan lajur yang digunakan untuk menentukan pendua.

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>
Salin selepas log masuk

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!

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