跳过SQL Server 2005的第一行?
发布时间:2020-05-24 12:44:02 所属栏目:MsSql 来源:互联网
导读:我们可以从SQL Server中选择Top 10或Select Top’N’行. 但有没有办法从顶部的结果中跳过第一行? 我的意思是我从选择前5位获得结果,然后我跳过第一行并且只得到接下来的4行? 您可以使用OVER子句和排名函数.您无法直接对此进行过滤,因此您需要使用子查询或公
|
我们可以从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关键字将更好地支持分页. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
