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!