Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memaparkan Nombor Baris untuk Nilai Unik dalam SQL?

Bagaimana untuk Memaparkan Nombor Baris untuk Nilai Unik dalam SQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-25 18:17:11120semak imbas

How to Display Row Numbers for Unique Values in SQL?

Memaparkan Nombor Baris Nilai Unik menggunakan SQL

Kata kunci DISTINCT dalam SQL digunakan untuk mendapatkan semula nilai unik sahaja daripada lajur yang ditentukan. Dalam kes tertentu ini, anda menyasarkan untuk memaparkan nombor baris nilai unik dalam lajur menggunakan fungsi ROW_NUMBER().

Walau bagaimanapun, pertanyaan yang anda berikan:

SELECT DISTINCT id, ROW_NUMBER() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

tidak mengembalikan hasil yang diharapkan kerana ia menghapuskan pendua dengan berkesan menggunakan DISTINCT. Akibatnya, ia berkelakuan serupa dengan pertanyaan berikut:

SELECT DISTINCT id FROM table WHERE fid = 64

Untuk mencapai output yang anda inginkan, anda boleh menggunakan fungsi DENSE_RANK() sebaliknya. DENSE_RANK() memperuntukkan nombor baris unik kepada setiap nilai berbeza dalam tertib yang ditentukan, walaupun terdapat nilai pendua.

Berikut ialah pertanyaan yang diubah suai:

SELECT DISTINCT id, DENSE_RANK() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

Ini pertanyaan akan memberikan anda nombor baris yang sepadan dengan nilai unik dalam lajur yang ditentukan untuk baris yang memenuhi syarat DIMANA fid = 64.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Nombor Baris untuk Nilai Unik dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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