如何在T-SQL中获取行10-20的值?

时间:2010-09-02 16:47:43

标签: tsql

是否可以获得10到20行的值?如果是这样的话?

3 个答案:

答案 0 :(得分:1)

如果您使用的是SQL Server 2005或更高版本,请查看ROW_NUMBER函数:http://msdn.microsoft.com/en-us/library/ms186734.aspx

答案 1 :(得分:0)

一种方法是做类似以下的事情......

SELECT * FROM (
    SELECT TOP x * FROM (
        SELECT TOP y fields
        FROM table
        WHERE conditions
        ORDER BY table.field  ASC) as foo
    ORDER by field DESC) as bar
ORDER by field ASC

x是您想要返回的行数,y是x + offset。

http://josephlindsay.com/archives/2005/05/27/paging-results-in-ms-sql-server/

答案 2 :(得分:0)

嘿,关于row_number()的关于joelt的asnwer。我做的。 它是这样的:

SELECT allianceId,position,points from(选择ROW_NUMBER()over(Order by Points DESC)作为position,points,allianceId from Alliance)as somethingx where position> = @alliancePosition-5 and position< = @alliancePosition + 5;