Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggunakan ROW_NUMBER() dalam Klausa WHERE?

Bagaimana untuk Menggunakan ROW_NUMBER() dalam Klausa WHERE?

Barbara Streisand
Barbara Streisandasal
2024-12-18 14:19:11157semak imbas

How to Use ROW_NUMBER() in a WHERE Clause?

Menyoal Menggunakan Fungsi ROW_NUMBER() dalam Klausa WHERE

Dalam percubaan untuk menggunakan fungsi ROW_NUMBER() dalam klausa WHERE, pertanyaan mengalami ralat "Fungsi bertingkap hanya boleh muncul dalam klausa SELECT atau ORDER BY." Pertanyaan yang dimaksudkan ialah:

SELECT employee_id
FROM v_employee
WHERE ROW_NUMBER() OVER (ORDER BY employee_id) > 0
ORDER BY employee_id

Untuk menyelesaikan ralat ini, gunakan penyelesaian dengan membungkus pernyataan pilih dalam Ungkapan Jadual Biasa (CTE). Ini membenarkan pertanyaan terhadap CTE dan menggunakan hasil fungsi bertingkap dalam klausa WHERE.

WITH MyCte AS 
(
    select   employee_id,
             RowNum = row_number() OVER ( order by employee_id )
    from     V_EMPLOYEE 
    ORDER BY Employee_ID
)
SELECT  employee_id
FROM    MyCte
WHERE   RowNum > 0

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan ROW_NUMBER() dalam Klausa WHERE?. 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