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