sql - 如何获取查询结果中的第n行?

标签 sql tsql

如何获取SQL查询结果的第n行?

比方说,我想获取此 SELECT 的第二行:

SELECT * FROM table
ORDER BY 2 ASC

最佳答案

您的目标 SQL Server 版本是什么?如果是 2005 或更大,您可以使用 ROW_NUMBER 生成行号并选择使用该数字。 http://msdn.microsoft.com/en-us/library/ms186734.aspx

WITH orderedtable AS
(
    SELECT *, ROW_NUMBER() OVER (ORDER BY <your order here>) AS 'RowNumber'
    FROM table
) 
SELECT * 
FROM orderedtable 
WHERE RowNumber = 2;

关于sql - 如何获取查询结果中的第n行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8505969/

相关文章:

MySQL 基本选择查询

sql - 进度 dbtool 错误

sql - 在逻辑上确定 SQL 中的组合键

正则表达式 CHECK 约束不适用于 SQL Server

sql - SQL 更新查询错误

c# - 如何处理 EntityDataSource 中的自连接?

php - 只获取最新的帖子

tsql - 用于生成 slug 的 T-SQL 函数?

sql - 验证 T-SQL 查询的方法?

xml - 如何使用 XQUERY 在 T-SQL 中获取给定 XML 属性的许多元素?