在PLSQL中怎么能取到表中按ID降序排列的前十条记录???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在PLSQL中怎么能取到表中按ID降序排列的前十条记录???相关的知识,希望对你有一定的参考价值。

参考技术A

在PLSQL中怎么能取到表中按ID降序排列的前十条记录的sql语句是:

select rownum,t.* from (select * from test order by id desc) t where rownum<11;

PLSQL是连接的oracle数据库,oracle中没有limit(limit是mysql中的用法)、top(top是sqlserver)关键字,oracle中限制行数条件是用rownum。


扩展资料

对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。

1、rownum 对于等于某值的查询条件,例如:

SQL> select rownum,id,name from student where rownum=1;

SQL> select rownum,id,name from student where rownum =2;

2、rownum对于大于某值的查询条件,例如

SQL>select * from(select rownum no ,id,name from student) where no>2;

3、rownum对于小于某值的查询条件,rownum对于rownum<n((n>1的自然数)的条件认为是成立的,所以可以找到记录,例如

SQL> select rownum,id,name from student where rownum <3;

4、rownum和排序  

SQL> select rownum ,id,name from student order by name;

求解:db2数据库表Tab中无id,且数据量较大,如何指定查询中间十条数据,不是前十条,谢了。

参考技术A select * from 表名 where 条件语句 fetch first 10 only 这是前10行的

select * from (select 字段, row_number() over() as rn where *** oder by****) as tmp
where rn> 50 and rn <=100

这是50 至100行追问

DB2 中没有row_number() 函数,麻烦确定后再回答,谢谢。

追答

没有row_number() 函数?你是什么版本 ,我的是V 9.5

本回答被提问者采纳

以上是关于在PLSQL中怎么能取到表中按ID降序排列的前十条记录???的主要内容,如果未能解决你的问题,请参考以下文章

plsql中表的列能取中文别名吗

如何在 Firebase 中按降序排列数据 - Python

MS Access 中按组排列的前 5 条记录

求解:db2数据库表Tab中无id,且数据量较大,如何指定查询中间十条数据,不是前十条,谢了。

为啥mssql的OPENQUERY取oracle某表时只返回了一行数据,而在pl/sql中可以查到表中有两行数据,求解答?

sqlserver 查询出前十条,发布时间前十天内的记录