跳过SQL Server 2005的第一行?

我们可以从SQL Server中选择Top 10或Select Top’N’行.

但有没有办法从顶部的结果中跳过第一行?

我的意思是我从选择前5位获得结果,然后我跳过第一行并且只得到接下来的4行?

解决方法

您可以使用OVER子句和排名函数.您无法直接对此进行过滤,因此您需要使用子查询或公用表表达式,下面的示例使用后者.
DECLARE @MyTable TABLE 
(
    ID INT,Name VARCHAR(15)
)
INSERT INTO @MyTable VALUES (1,'Alice')
INSERT INTO @MyTable VALUES (2,'Bob')
INSERT INTO @MyTable VALUES (3,'Chris')
INSERT INTO @MyTable VALUES (4,'David')
INSERT INTO @MyTable VALUES (5,'Edgar')

;WITH people AS 
(
    SELECT ID,Name,ROW_NUMBER() OVER (ORDER BY ID) RN
    FROM @MyTable
)
SELECT ID,Name
FROM people 
WHERE RN > 1

在下一版本的SQL Server(代号Denali)中使用OFFSET和FETCH关键字将更好地支持分页.

相关文章

本篇内容主要讲解“sqlalchemy的常用数据类型怎么使用”,感...
今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的...
这篇文章主要介绍“sqlmap之osshell怎么使用”,在日常操作中...
本篇内容介绍了“SQL注入的知识点有哪些”的有关知识,在实际...
1. mssql权限sa权限:数据库操作,文件管理,命令执行,注册...
sql执行计划如何查看?在SPL庞大的数据中我们不知道如何查看...