日期:2014-05-17  浏览次数:20723 次

一个sql语句,关于记录的显示问题
怎么实现将查询到的数据进行分页显示,如在scott用户下,查询所有emp表中员工的信息,前面加上编号,0-20,一页显示21行数据,帮我实现下,不知道如何将编号来实现。
我写的是select * from emp order by empno ______ 0,20

------解决方案--------------------
SQL code

select rownum,t1.* from
(select * from emp order by empno) t1
where rownum<=21

------解决方案--------------------
limit好像是sql server的
推荐分析函数
select *
from (select t.*, row_number() over(order by empno) as rn from emp t)
 where rn between 5 and 10
------解决方案--------------------
这个 只是取了个具体值而已 如果要达到分页效果 可以写存储 或者在程序里面设置2参数 

SQL code

select rownum,t1.* from
(select * from emp order by empno) t1
where rownum >= 21*(x-1) and rownum <=21*x

------解决方案--------------------
分页不要用SQL,用前台编程工具实现吧。