gpt4 book ai didi

sql - 在 SQL Server 2005 中跳过第一行?

转载 作者:行者123 更新时间:2023-12-02 14:30:06 25 4
gpt4 key购买 nike

我们可以从 SQL Server 中选择前 10 行选择前 'N' 行。

但是有什么办法可以跳过top结果中的第一行吗?

我的意思是我从select top 5得到结果,然后我跳过第一行并只得到接下来的4行?

最佳答案

您可以使用OVER子句和排名函数。您无法直接对此进行过滤,因此您需要使用子查询或公共(public)表表达式,下面的示例使用后者。

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)将通过 OFFSETFETCH 关键字更好地支持分页。

关于sql - 在 SQL Server 2005 中跳过第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com