听说Sql Server和MySql中有Top关键字,可以返回排序记录的前N条记录,如select top 10 * from table_name order by col_name,我想Oracle也必定有类似的功能,只是Oracle没有Top关键字,而是使用Rownum关键字。

To retrieve the Top N records from a query, you can use the following syntax:

SELECT * 
FROM (your ordered query) alias_name 
WHERE rownum <= Rows_to_return
ORDER BY rownum;

按照上边的语法,写出如下的查询语句:

select * from (select rownum from gzl_流程流转状态  order by 流程实例编号 ) kk where rownum<=10 order by rownum;

即将 gzl_流程流转状态 表按流程实例编号排序后再返回其前10行,要返回最后10行只需要降序排序即可,这一点很容易想到。kk是子查询的别名,也可以不写。

SELECT   title, art_id, reader_count
FROM (SELECT   title, art_id, reader_count
FROM article
WHERE (sys_cat <> 'NEWS') AND (eff_status = 'A')
ORDER BY reader_count DESC)
WHERE (ROWNUM <= 3)
ORDER BY ROWNUM ASC

posted on 2007-09-14 10:35  大口仔  阅读(468)  评论(0编辑  收藏  举报

使用Live Messenger联系我
关闭