SQLクエリを使用してn番目からn番目のレコードをロードする方法は?
何かのようなもの
select 10 to 20 columnname from tbl order by columnname
SQLクエリを使用してn番目からn番目のレコードをロードする方法は?
何かのようなもの
select 10 to 20 columnname from tbl order by columnname
SQL Server 2012 には、 および と呼ばれる新しい機能がOFFSET
ありFETCH
ます。
SELECT (list of columns)
FROM YourTable
ORDER BY columnName
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY
2012 より前のバージョンでは、ROW_NUMBER()
関数で CTE (Common Table Expression) を使用し、行番号を使用してその CTE から選択するのが最善の方法です。詳細については、こちらを参照してください。
SQL 2005 以降では、使用できますROW_NUMBER()
DECLARE @p0 Int = 10
DECLARE @p1 Int = 10
SELECT [t1].[pkCompanyID]
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY [t0].[pkCompanyID]) AS [ROW_NUMBER], [t0].[pkCompanyID]
FROM [tblCompany] AS [t0]
) AS [t1]
WHERE [t1].[ROW_NUMBER] BETWEEN @p0 + 1 AND @p0 + @p1
ORDER BY [t1].[ROW_NUMBER]