`
missaaron
  • 浏览: 11596 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

数据库分页小结

阅读更多

数据库分页小结

 

Mysql分页采用limt关键字

select * from aaron_test limit 5,10; #返回第6-10行数据
select
 * from aaron_test limit  5; #返回前5
select
 * from  aaron_test limit  0,5; #返回前5

 

Mssql 2000分页采用top关键字(貌似20005以上版本也支持关键字rownum,测试用的是2000)

Select top 10 * from aaron_test where id not in (select id from aaron_test where id <=5 )

或者

Select top 10 * from aaron_test where id in (select id from aaron_test where id > 5 )

 

 //返回第610行数据

其中10表示取10记录 5表示从第5条记录开始取

Oracle分页

采用rownum关键字

  SELECT * FROM

  (SELECT A.*,ROWNUM num FROM
  (SELECT * FROM aaron_test order by id) A
   WHERE ROWNUM<=
10
)
   WHERE num>=
5;--返回第5-10行数据

  要排序则用三层嵌套,否则只需要两层嵌套

        SELECT * FROM

   (SELECT A.*,ROWNUM  num FROM aaron_test A WHERE ROWNUM<=10)

   WHERE num>=5;--返回第5-10行数据

采用row_number解析函数进行分页

 SELECT tt.* FROM

 (SELECT t.*,row_number() over(ORDER BY o_id)AS num
 FROM aaron_test t) tt
 WHERE num BETWEEN
5 AND 10;

--返回第5-10行数据

以上只有SQLServer 2000部分经过测试,其余只作为参考

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics