为了账号安全,请及时绑定邮箱和手机立即绑定

如何在SQL Server中实现 Limit m,n 的功能

如何在SQL Server中实现 Limit m,n 的功能

料青山看我应如是 2019-03-13 14:09:30
如何在SQL Server中实现 Limit m,n 的功能
查看完整描述

3 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞


1

2

3

4

5

6

7

8

9

10

11

12

13

14

解决方案:

虽然SQL Server不支持 Limit ,但是它支持 TOP

如果要查询上述结果中前6条记录,则相应的SQL语句是

select top 6 id from tablename 

如果要查询上述结果中第 7 条到第 9 条记录,则相应的SQL语句是:

select top 3 id from tablename

where id not in (

  select top 6 id from tablename

)

以此类推:

select top (n-m+1) id from tablename

where id not in (

  select top m-1 id from tablename

)

 


查看完整回答
反对 回复 2019-03-20
?
GCT1015

TA贡献1827条经验 获得超4个赞

select top (n-m+1) id from tablename
where id not in (
select top m-1 id from tablename
)

查看完整回答
反对 回复 2019-03-20
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

假设页数是10,现在要拿出第5页的内容,查询语句如下:
--10代表分页的大小
select top 10 *
from test
where id not in
(
--40是这么计算出来的:10*(5-1)
select top 40 id from test order by id
)
order by id
原理:需要拿出数据库的第5页,就是40-50条记录。首先拿出数据库中的前40条记录的id值,然后再拿出剩余部分的前10条元素

查看完整回答
反对 回复 2019-03-20
  • 3 回答
  • 0 关注
  • 1428 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信