我有以下 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。