我是靠谱客的博主 犹豫泥猴桃,这篇文章主要介绍如何在SQL Server中实现 Limit m,n 的功能,现在分享给大家,希望可以做个参考。

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

复制代码 代码如下:

select * from tablename limit m, n

但是,在SQL Server中,不支持 Limit 语句。怎么办呢?
解决方案:
虽然SQL Server不支持 Limit ,但是它支持 TOP。
我们以SQL Server 2005为例,就以它自带的示范数据库 AdventureWorks 作为测试数据:
复制代码 代码如下:

select id from tablename

如果要查询上述结果中前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
)

复制代码 代码如下:

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

最后

以上就是犹豫泥猴桃最近收集整理的关于如何在SQL Server中实现 Limit m,n 的功能的全部内容,更多相关如何在SQL内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(156)

评论列表共有 0 条评论

立即
投稿
返回
顶部