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

Bagaimana untuk Memadam Baris Pendua dalam SQL Tanpa Pengecam Unik?

Patricia Arquette
Lepaskan: 2025-01-23 01:37:08
asal
990 orang telah melayarinya

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

Alih keluar baris pendua tanpa pengecam unik

Untuk mengalih keluar baris pendua daripada jadual yang tidak mempunyai lajur pengecam unik, anda boleh menggunakan CTE (ungkapan jadual biasa) bersama-sama dengan ROW_NUMBER().

Penyelesaian:

Sila pertimbangkan pertanyaan berikut:

WITH CTE AS (
   SELECT [col1], [col2], [col3], [col4], [col5], [col6], [col7],
       RN = ROW_NUMBER() OVER (PARTITION BY col1 ORDER BY col1)
   FROM dbo.Table1
)
DELETE FROM CTE WHERE RN > 1;
Salin selepas log masuk

Pertanyaan ini melakukan perkara berikut:

  1. Cipta CTE: Ia mencipta CTE bernama "CTE", memberikan setiap baris ROW_NUMBER() yang unik, dikira bermula dari 1 lajur "col1" dalam setiap partition nilai unik .
  2. Kenal pasti pendua: Pertanyaan mengenal pasti baris pendua dengan menyemak sama ada ROW_NUMBER() lebih besar daripada 1.
  3. Alih Keluar Pendua: Ia kemudian mengalih keluar semua baris dalam CTE yang mempunyai nilai ROW_NUMBER() pendua.

Keputusan:

Hasil pertanyaan ialah jadual dengan baris pendua dialih keluar, hanya mengekalkan kejadian pertama bagi setiap baris unik. Ini dicapai tanpa memerlukan lajur pengecam unik dalam jadual asal.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris Pendua dalam SQL Tanpa Pengecam Unik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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