【发布时间】:2010-10-24 11:56:28
【问题描述】:
我有以下 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子句不起作用。我注意到我必须在(...) from ATABLE之后添加另一个order by 2 DESC子句才能使我的查询正常工作。有什么我做错了吗?还是预期的行为?如何添加
where子句?假设我只需要选择表where COLUMN1 like '%value%'的前100 条记录。我尝试在(...) from ATABLE之后添加 where 子句,但它产生了错误......
帮助?谢谢。
PS:我使用的是 Oracle 10g R2。
【问题讨论】:
-
您能否实际包含您尝试过的其他查询,而不仅仅是解释它们?这可能更容易发现问题。
标签: sql oracle select oracle10g row-number