Ich habe eine Anfrage wie:
SELECT
R.*
FROM
(SELECT A, B,
(SELECT smth from another table) as C,
ROW_NUMBER() OVER (ORDER BY C DESC) AS RowNumber
FROM SomeTable) R
WHERE
RowNumber BETWEEN 10 AND 20
Dies führt zu einer Fehlermeldung bei ORDER BY C DESC
.
Da ich verstehe, warum dieser Fehler auftritt, habe ich mir überlegt, eine weitere SELECT
con ORDER BY
und erst dann Zeilen von 10 bis 20 auswählen. Aber ich glaube nicht, dass es gut ist, 3 verschachtelte SELECT
Befehle.
Wie ist es sonst möglich, diese Zeilen auszuwählen?