У меня есть следующий SQL-запрос:
select
ID, COLUMN1, COLUMN2
from
(select ID, COLUMN1, COLUMN2, row_number() over (order by 2 DESC) NO from A_TABLE)
where
NO between 0 and 100
Я пытаюсь выбрать первые 100 записей запроса.
select ID, COLUMN1, COLUMN2 from ATABLE order by 2 DESC
И вот проблемы:
Судя по всему, пункт
order by
не работает. Я заметил, что мне нужно добавить еще одно предложениеorder by 2 DESC
сразу после(...) from ATABLE
, чтобы мой запрос работал. Я что-то делаю не так? Или это ожидаемое поведение?Как я могу добавить предложение
where
? Допустим, мне нужно выбрать только первые 100 записей таблицыwhere COLUMN1 like '%value%'
. Я попытался добавить предложение where после(...) from ATABLE
, но это привело к ошибке...
Помощь? Спасибо.
PS: я использую Oracle 10g R2.