标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。