2012-06-04 60 views
0

我想使用T-SQL創建分頁。我如何從第11行到第20行選擇10行?來自SQL Server的範圍行

我知道我可以用C#做​​到這一點,但我的問題是關於SQL Server。

下面是表:

CREATE TABLE EarlyAccess(
    [EarlyAccessUserId] [int] IDENTITY(1,1) NOT NULL, 
    [FirstName] [nvarchar](50) NOT NULL, 
    [Lastname] [nvarchar](50) NOT NULL 
) 
+1

第11個記錄按哪個順序? – Quassnoi

回答

3
SELECT * 
FROM (
     SELECT *, ROW_NUMBER() OVER (ORDER BY earlyAccessUserId) rn 
     FROM earlyAccess 
     ) q 
WHERE rn BETWEEN 11 AND 20 
ORDER BY 
     earlyAccessUserId 

沒有這樣的東西在SQL第n個記錄,除非你明確指定順序。

+0

謝謝!那是我正在尋找.. –