首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

一个简单的有关问题

2012-02-01 
一个简单的问题如何选择一个表中前面5行数据和后面5行数据呢?rownum好像不行啊?怎么用呢?[解决办法]SQL co

一个简单的问题
如何选择一个表中前面5行数据和后面5行数据呢?rownum好像不行啊?怎么用呢?

[解决办法]

SQL code
select *  from (select t.*,                row_number() over(order by empno) as r1,           -- 顺序               row_number() over(order by empno desc) as r2       -- 倒叙          from emp t) where r1 <= 5 or r2 <=5 order by empno;
[解决办法]
SQL code
rownum可以实现,只不过要用子查询来实现,因为rownum是不可以直接用<n(n>1)不过如果在外面用一层子查询就可以了阿select * from (select id,name, rownum rt from table order by id) where rt <=5union allselect * from (select id,name, rownum rt from table order by id desc) where rt <=5--ps:如果有不足10条数据的情况,可以使用union 去掉重复数据
[解决办法]
SQL code
原数据是:1-20select rn from(            select rownum rn from dual connect by rownum<21)where rn<6 or rn>15--结果显示:1    12    23    34    45    56    167    178    189    1910    20 

热点排行