Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mengalih keluar Baris Pendua dari Jadual SQL Tanpa Kunci Utama?

Bagaimana untuk mengalih keluar Baris Pendua dari Jadual SQL Tanpa Kunci Utama?

Linda Hamilton
Lepaskan: 2025-01-03 02:35:39
asal
348 orang telah melayarinya

How to Remove Duplicate Rows from a SQL Table Without a Primary Key?

Cara Memadam Rekod Pendua daripada Jadual SQL Tanpa Kunci Utama

Apabila berurusan dengan jadual SQL yang tidak mempunyai kunci utama, mengendalikan pendua rekod boleh menimbulkan cabaran. Walau bagaimanapun, terdapat kaedah yang cekap untuk menghapuskan pendua berdasarkan kriteria tertentu.

Pertimbangkan senario berikut: anda mempunyai jadual 'pekerja' dengan lajur 'EmpId,' 'EmpName' dan 'EmpSSN' serta beberapa rekod mengandungi nilai pendua dalam medan 'EmpId' dan 'EmpSSN'. Untuk mengalih keluar pendua ini, anda boleh menggunakan pertanyaan berikut:

DELETE SUB FROM
(SELECT ROW_NUMBER() OVER (PARTITION BY EmpId, EmpName, EmpSSN ORDER BY EmpId) cnt
 FROM employee) SUB
WHERE SUB.cnt > 1
Salin selepas log masuk

Memahami Pertanyaan:

  • Pernyataan DELETE luar mengalih keluar baris daripada 'pekerja ' jadual berdasarkan maklumat yang diambil daripada subkueri.
  • Subkueri mengira kiraan baris (cnt) untuk setiap gabungan unik 'EmpId,' 'EmpName,' dan 'EmpSSN.'
  • PARTITION BY klausa kumpulan direkodkan oleh medan ini untuk memastikan kiraan baris ditetapkan semula untuk setiap kumpulan yang berbeza.
  • Klausa ORDER BY mengisih rekod dalam setiap kumpulan untuk memastikan bahawa baris pertama ialah yang asal rekod.
  • Klausa WHERE dalam subquery menapis baris dengan cnt lebih besar daripada 1, menunjukkan bahawa ia adalah pendua.
  • Pernyataan DELETE luar kemudian menggunakan klausa FROM untuk merujuk subquery sebagai jadual maya (SUB), dan memadamkan baris tersebut daripada 'pekerja' utama jadual.

Pertanyaan ini mengalih keluar rekod pendua dengan berkesan berdasarkan gabungan unik 'EmpId' dan 'EmpSSN,' dengan cekap melaksanakan pembersihan data dalam jadual tanpa kunci utama.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Baris Pendua dari Jadual SQL Tanpa Kunci Utama?. 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