Abfragen mit der Funktion ROW_NUMBER() in der WHERE-Klausel
Bei einem Versuch, die Funktion ROW_NUMBER() in einer WHERE-Klausel zu verwenden, eine Abfrage Es ist der Fehler „Fensterfunktionen können nur in den SELECT- oder ORDER BY-Klauseln angezeigt werden“ aufgetreten. Die betreffende Abfrage lautete:
SELECT employee_id FROM v_employee WHERE ROW_NUMBER() OVER (ORDER BY employee_id) > 0 ORDER BY employee_id
Um diesen Fehler zu beheben, wenden Sie eine Problemumgehung an, indem Sie die SELECT-Anweisung in einen Common Table Expression (CTE) einbinden. Dies ermöglicht die Abfrage des CTE und die Verwendung der Ergebnisse der Fensterfunktion in der WHERE-Klausel.
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
Das obige ist der detaillierte Inhalt vonWie verwende ich ROW_NUMBER() in einer WHERE-Klausel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!