ROWNUM伪列:

简介: ROWNUM伪列:1、使用SELECT语句返回的结果集,希望按特定条件查询前N条记录,可以使用伪列ROWNUM。
ROWNUM伪列:
1、使用SELECT语句返回的结果集,希望按特定条件查询前N条记录,可以使用伪列ROWNUM。ROWNUM是对结果集加一个伪列,先查到结果集后再加上一个列,是符合条件结果的序列号;从1开始排起,只能用< > = !=这些比较符合。
ROWNUM对于 等于 某值的查询条件,比如查询第一条记录,可以使用ROWNUM=1作为条件;但是如果查询第二条记录写ROWNUM=2则查询不到数据,ROWNUM的=判断只对于1有效;
2、同理,查询 大于 某值的查询条件,ROWNUM>n(n>1的自然数)这种条件不成立;那如何查询第一行以后的记录呢?
solution:用子查询解决,但是必须为rownum设置别名,"select * from (select  rownum no  ,id,name from table1) where  no >1";
3、ROWNUM对于 小于 某值的查询是可以的,select * from table1 where rownum<3
4、ROWNUM和排序
Oracle中rownum是在取数据时产生的序号,想对指定排序的数据指定rownum行数据就要做处理了:
"select rownum,id,name from table1 order by name",查询结果按name排序,但是rownum不是按1、2、3...排列,而是按记录插入时的顺序给记录排号;
solution:使用子查询 ,select rownum ,id,name from(select * from table1 order by name)
目录
相关文章
|
6月前
|
SQL 数据库
SQL 查询优化指南:SELECT、SELECT DISTINCT、WHERE 和 ORDER BY
SQL的SELECT语句用于从数据库中选择数据。SELECT语句的基本语法如下:
108 1
|
10天前
|
SQL Oracle 关系型数据库
ROWNUM
【11月更文挑战第04天】
32 8
|
12天前
|
SQL
SELECT DISTINCT
【11月更文挑战第02天】
20 1
|
5月前
|
SQL Oracle 关系型数据库
SQL SELECT TOP, LIMIT, ROWNUM 子句
SQL SELECT TOP, LIMIT, ROWNUM 子句
53 4
|
SQL Oracle druid
listagg
listagg
140 3
Distinct
SQL 去重
150 0
|
SQL
表复制:SELECT INTO 和 INSERT INTO SELECT
表复制:SELECT INTO 和 INSERT INTO SELECT
163 0
|
SQL 存储 运维
Oracle-12:伪列rowid和rownum
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------       伪列:不真实存储在真表中,但是我们可以查询到不能对伪列进行增删改操作!   分页可以用rownum来分!!!!!!!(因为oracle中没有limit)   放一份数据库脚本,...
939 0