在网站添加邮箱,seo的主要策略和流程内容,安庆哪些做网站的公司好,衡水建设公司网站在SqlServer中#xff0c;分页查询是经常用到的查询语句#xff0c;一个好的分页查询语句#xff0c;不能能将代码省略#xff0c;还能提高运行效率#xff0c;下面我们来探讨一下SQLServer中的分页查询语句。具体的业务逻辑是这样的#xff0c;我数据库中有100条数据分页查询是经常用到的查询语句一个好的分页查询语句不能能将代码省略还能提高运行效率下面我们来探讨一下SQLServer中的分页查询语句。具体的业务逻辑是这样的我数据库中有100条数据我要查第40-50数据表中有两个字段一个字段是id一个字段是name其中id是不连续的因为我删除id为44、45的记录因为我要查数据的第40-50条记录也就是id分别为41、42、43、46、47、…52的十条记录。那该怎么办呐下面就是一些具体的例子。)1.使用Not In关键字即取不在前40条数据里的前10条select top 10 * from tablewhere id not in(select top 40 id from table order by id )order by id2.使用Max(id)函数即从前40条数据中找到最大id,在找出id比之前最大id大的10条数据select top 10 * from tablewhere id ( select max(id) from (select top 40 id from table)temp)3.使用Row_Number需SQL Server 2005及以上版本即设置上rowid然后去rowid大于40的前10条select top 10 *from (select Row_Number OVER(order by id asc) as rowid,*from table)Awhere rowid404.Offset x row fetch next y rows only* 适用SQL Server 2012及以上版本*主要功能是从第x条数据开始共取y数据。但是其必须跟在Order By 后面使用语法简便select * from table order by id offset 0 row fetch next 5 rows only注写得清晰点就是parameterTypejava.util.Mapselectfrom newslist order by id descOffset #{startIdex} Row Fetch Next #{sizePage} Rows Only12345678startIndex起始坐标sizePage每一页多少条这种方式只适合SqlServer2012以及更高的版本这种方法与lamda表达式的Skip().Take()原理差不多另外MySQL的Limit函数也是这么用的。希望与广大网友互动点此进行留言吧