gpt4 book ai didi

sql - 在 SQL 查询中选择第 N 条记录

转载 作者:行者123 更新时间:2023-12-04 09:29:45 25 4
gpt4 key购买 nike

我有一个正在运行的 SQL 查询,但我只想选择特定的行。例如,假设我的查询是:

Select * from Comments

假设这返回 10 行,我只想选择此查询返回的第 8 条记录。我知道我可以做到:
Select Top 5 * from Comments

要获取该查询的前 5 条记录,但我只想选择某个记录,是否可以在此查询中放入任何内容来执行此操作(类似于 top)。

谢谢

jack

最佳答案

这是一道经典的面试题。

在 Ms SQL 2005+ 中,您可以使用 ROW_NUMBER()关键字并具有谓词 ROW_NUMBER = n

USE AdventureWorks;
GO
WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'
FROM Sales.SalesOrderHeader
)

SELECT *
FROM OrderedOrders
WHERE RowNumber = 5;

在 SQL2000 中你可以做类似的事情
SELECT Top 1 *FROM
[tblApplications]
where [ApplicationID] In
(
SELECT TOP 5 [ApplicationID]
FROM [dbo].[tblApplications]
order by applicationId Desc
)

关于sql - 在 SQL 查询中选择第 N 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1022514/

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