oracle number order by,SQL查询使用Row_Number,order by和where子句

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

你可能感兴趣的:(oracle,number,order,by)