我有一个像这样的查询:
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
这给了我一个错误ORDER BY C DESC
。
我理解为什么会导致这个错误,所以我考虑添加另一个SELECT
,ORDER BY
而不是选择从 10 到 20 的行。但我认为拥有 3 个嵌套SELECT
命令并不好。
还有什么办法可以选择这些行?