我有以下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子句不起作用.我注意到我必须通过2个DESC子句添加另一个命令,就在ATABLE之后(…),我的查询才能工作.有什么我做错了吗?或者是预期的行为?
>我如何添加where子句?假设我需要只选择表格的前100条记录,其中COLUMN1类似于’%value%’.我尝试在ATABLE之后添加where子句,但它产生了一个错误……
救命?谢谢.
PS:我正在使用Oracle 10g R2.