博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在SQL Server中实现 Limit m, n 的功能
阅读量:5782 次
发布时间:2019-06-18

本文共 766 字,大约阅读时间需要 2 分钟。

hot3.png

 在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录

例如:[sql] view plaincopy

    select * from tablename limit m, n 

但是,在SQL Server中,不支持 Limit 语句。怎么办呢?

解决方案:
虽然SQL Server不支持 Limit ,但是它支持 TOP
我们以SQL Server 2005为例,就以它自带的示范数据库 AdventureWorks 作为测试数据:
[sql] view plaincopy

    select id from tablename 

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

[sql] view plaincopy

    select top 6 id from tablename  

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

[sql] view plaincopy

    select top 3 id from tablename 

    where id not in ( 
      select top 6 id from tablename 
    ) 

[sql] view plaincopy

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

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

[sql] view plaincopy

    select top @pageSize id from tablename 

    where id not in ( 
      select top @offset id from tablename 
    ) 

 

转载于:https://my.oschina.net/jackguo/blog/178681

你可能感兴趣的文章
基础,基础,还是基础之JAVA基础
查看>>
haproxy mysql实例配置
查看>>
MySQL 8.0 压缩包版安装方法
查看>>
JS prototype 属性
查看>>
iphone-common-codes-ccteam源代码 CCEncoding.m
查看>>
nginx中配置文件的讲解
查看>>
HTTP库Axios
查看>>
CentOS7下安装python-pip
查看>>
gen already exists but is not a source folder. Convert to a source folder or rename it 的解决办法...
查看>>
20个Linux服务器性能调优技巧
查看>>
填坑记:Uncaught RangeError: Maximum call stack size exceeded
查看>>
SpringCloud之消息总线(Spring Cloud Bus)(八)
查看>>
实时编辑
查看>>
KVO原理分析及使用进阶
查看>>
【348天】每日项目总结系列086(2018.01.19)
查看>>
【294天】我爱刷题系列053(2017.11.26)
查看>>
可替换元素和非可替换元素
查看>>
2016/08/25 The Secret Assumption of Agile
查看>>
(Portal 开发读书笔记)Portlet间交互-PortletSession
查看>>
搭建vsftpd服务器,使用匿名账户登入
查看>>