ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql / sqlserver / oracle 常见数据库分页

2019-02-11 13:43:41  阅读:255  来源: 互联网

标签:rows top sqlserver 条数 mysql oracle where select ArtistModels


空闲时间里用着mysql学习开发测试平台和测试用具,

在公司里将可用的测试平台部署,将数据库换成sqlserver

巴望着能去oracle的公司

 

 

mysql中的分页

limit是mysql的语法
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。

 


select * from tablename limit 0,5
即取出第1条至第5条,5条记录

 

select * from tablename limit 5,5
即取出第6条至第10条,5条记录

 

sqlserver中分页

第一种:ROW_NUMBER() OVER()方式

select * from ( 
    select *, ROW_NUMBER() OVER(Order by ArtistId ) AS RowId from ArtistModels 
  ) as b

      where RowId between 10 and 20 

select * from ( 
    select *, ROW_NUMBER() OVER(Order by ArtistId ) AS RowId from ArtistModels 
  ) as b

      where RowId between 10 and 20 

  


  ---where RowId BETWEEN 当前页数-1*条数 and 页数*条数---     

 

第二种方式:offset fetch next方式(SQL2012以上的版本才支持:推荐使用 )

select * from user order by 1 desc

offset 4 rows fetch next 5 rows only
                  --order by 1 desc offset 页数 rows fetch next 条数 rows only ----

select * from user order by 1 desc

offset 4 rows fetch next 5 rows only
                  --order by 1 desc offset 页数 rows fetch next 条数 rows only ----

  

 

第三种方式:top not in方式 (适应于数据库2012以下的版本)

select top 3 * from user
where id not in (select top 15 id from ArtistModels)

------where Id not in (select top 条数*页数  ArtistId  from ArtistModels)  

select top 3 * from user
where id not in (select top 15 id from ArtistModels)

------where Id not in (select top 条数*页数  ArtistId  from ArtistModels)  

 

oracle的分页

/*

 * firstIndex:起始索引

 * pageSize:每页显示的数量

 * orderColumn:排序的字段名

 * sql:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句

 */
select * from(select * from(select t.*,row_number() over(order by orderColumn) as rownumber from tablename t) p where p.rownumber>firstIndex) where rownum<=pageSize

  

 

标签:rows,top,sqlserver,条数,mysql,oracle,where,select,ArtistModels
来源: https://www.cnblogs.com/qianjinyan/p/10361523.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有