SQL Server の MySQL LIMIT 句と同等
SQL Server の LIMIT 句は依然として注目に値するため、多くの開発者が代替案を模索してきました。プラットフォームに不在。この問題に対処するために、利用可能な回避策を詳しく見てみましょう。
SQL Server 2012 以降では、ANSI 標準の一部である OFFSET/FETCH 構文が解決策を提供します。
SELECT ID, Name, Price, Image FROM Products ORDER BY ID ASC OFFSET (@start_from - 1) ROWS FETCH NEXT @items_on_page ROWS ONLY;
以前SQL Server 2012 では、この説明に従って ROW_NUMBER() メソッドを使用できます。
ただし、SQL Server 2012 が利用できない場合は、共通テーブル式 (CTE) を使用した回避策を使用できます。
;WITH o AS ( SELECT TOP ((@start_from - 1) + @items_on_page) -- Again, this calculation depends on the method used for @start_from RowNum = ROW_NUMBER() OVER (ORDER BY ID ASC) /* , other columns */ FROM Products ) SELECT RowNum /* , other columns */ FROM o WHERE RowNum >= @start_from ORDER BY RowNum;
これは、いくつかの方法のうちの 1 つです。望ましい結果を達成するために適用されます。利用可能なドキュメントを確認し、選択したアプローチの効率性を考慮することが重要です。
以上がSQL Server で MySQL の LIMIT 句を置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。