首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在sql中选择特定行号

在sql中选择特定行号
EN

Stack Overflow用户
提问于 2013-06-23 18:14:05
回答 2查看 83.2K关注 0票数 9

是否有任何方法可以在SQL Server中选择指定的行数?就像我的第一个查询一样,我希望获得第1-5行,然后是第6-10行,然后是更高的行?提前感谢您的回答:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-23 18:46:44

对于SQL Server 2005+ (设置@startRow和@endRow):

代码语言:javascript
复制
SELECT OrderingColumn 
FROM (
    SELECT OrderingColumn, ROW_NUMBER() OVER (ORDER BY OrderingColumn) AS RowNum
    FROM MyTable
) AS MyDerivedTable
WHERE MyDerivedTable.RowNum BETWEEN @startRow and @endRow

SQL fiddle示例:http://sqlfiddle.com/#!3/b4b8c/4

票数 22
EN

Stack Overflow用户

发布于 2013-06-23 18:18:34

对于SQL Server 2012,请尝试此操作(只需设置偏移量)

代码语言:javascript
复制
SELECT  *
FROM     MyTable 
ORDER BY OrderingColumn ASC 
OFFSET  0 ROWS 
FETCH NEXT 5 ROWS ONLY 

OFFSET

指定在开始从查询表达式返回行之前要跳过的行数。

FETCH NEXT

指定在处理OFFSET子句后要返回的行数。

OFFSETFETCH NEXT的定义来自here

问题1:

偏移量0 => 1-5

问题2:

偏移量5 => 6-10等

SQL fiddle示例:http://sqlfiddle.com/#!6/b4b8c/2

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17259716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档