从查询中选择第n个结果

时间:2012-07-13 12:24:28

标签: sql-server sql-server-2012

我正在使用SQL Server 2012,我想知道是否有办法选择,例如,查询的第三个结果。我已经研究过LIMIT和OFFSET,但我不是百分之百确定它是否适用于SQL Server,但是我被告知在SQL Server 2012中有一些东西可以做我想要的。

3 个答案:

答案 0 :(得分:12)

SELECT  *
FROM     YourTable
ORDER BY OrderingColumn ASC 
OFFSET  2 ROWS /*Skip first 2 rows*/
FETCH NEXT 1 ROWS ONLY 

注意:如果不首先OFFSET ... FETCH

,则无法使用ORDER BY

答案 1 :(得分:0)

我会推荐

select * from table ORDER BY OrderingColumn ASC LIMIT n,1

这是一个限制的怪癖,如果您给它一个范围,它只会返回该范围。它也适用于MySQL。

答案 2 :(得分:0)

您是否只能选择第二个索引?这就是我要说的表中第三条帖子的方式。

//索引3 $ index3 = DB :: query(‘SELECT * from posts’)[2];

然后,您将准备好要使用的阵列。