Oracle查询前n条、后n条记录

来源:互联网 发布:新浪微博刷粉丝软件 编辑:程序博客网 时间:2024/05/02 00:09


1.前n条:

查询Persons表中的前5条记录,用ROWNUM关键字

例:SELECT * FROM t_Persons WHERE ROWNUM <= 5 



2.后n条:

例:SELECT * FROM (SELECT * FROM t_Persons ORDER BY time DESC) WHERE ROWNUM < 10;time是我表中的一个字段,是插入记录的当前时间






=======================================================================================

========================================================================================

参考文献:http://www.w3school.com.cn/sql/sql_top.asp

1.TOP 子句

TOP 子句用于规定要返回的记录的数目。
对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。
注释:并非所有的数据库系统都支持 TOP 子句。

1.1SQL Server 的语法:SQL Server中使用top关键字

SELECT TOP number|percent column_name(s) FROM table_name  

可以参考我以前的博客:sql查询选择表中从10到15的记录

1.2MySQL 语法:MySQL使用limit关键字

SELECT column_name(s) FROM table_name LIMIT number  

例子

SELECT * FROM Persons LIMIT 5  

1.3Oracle 语法:Oracle中使用 ROWNUM关键字

SELECT column_name(s) FROM table_name WHERE ROWNUM <= number   

例子1:查询Persons表中的前5条记录

SELECT * FROM Persons WHERE ROWNUM <= 5  

例子2:查询procedure_no的最大值

SELECT  procedure_no  FROM (SELECT  *  FROM process_card_procedure where process_card_id=421 order by cast(procedure_no as int) desc) where rownum<=1   

2.总结

top字句结合order by会很有用,比如查询最大值之类的。





Select * from (select * from tablename orderby time desc) where rownum < 10;time是我表中的一个字段,是插入记录的当前时间
原创粉丝点击