相关疑难解决方法(0)

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
Run Code Online (Sandbox Code Playgroud)

我想要做的是选择查询的前100条记录

select ID, COLUMN1, COLUMN2 from ATABLE order by 2 DESC
Run Code Online (Sandbox Code Playgroud)

以下是问题:

  1. 显然,该order by条款不起作用.我注意到我必须在之后添加另一个order by 2 DESC子句(...) from ATABLE,以便我的查询工作.有什么我做错了吗?或者是预期的行为?

  2. 我该如何添加where条款?假设我只需要选择表格的前100条记录where COLUMN1 like '%value%'.我之前尝试过添加where子句,(...) from ATABLE但是它产生了一个错误......

救命?谢谢.

PS:我正在使用Oracle 10g R2.

sql oracle select row-number oracle10g

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

oracle ×1

oracle10g ×1

row-number ×1

select ×1

sql ×1