ホームページ >データベース >mysql チュートリアル >SQL Server に LIMIT 機能を実装するにはどうすればよいですか?
SQL Server クエリの結果セットの制限
SQL Server は、MySQL の LIMIT
句の機能を反映して、クエリによって返される行数を制限するいくつかの方法を提供します。 これらのテクニックを調べてみましょう:
SQL Server 2005 以降:
ROW_NUMBER()
関数は、バージョン 2005 以降に洗練されたソリューションを提供します。
<code class="language-sql">USE AdventureWorks; GO WITH NumberedOrders AS ( SELECT SalesOrderID, OrderDate, ROW_NUMBER() OVER (ORDER BY OrderDate) AS RowNum FROM Sales.SalesOrderHeader ) SELECT * FROM NumberedOrders WHERE RowNum BETWEEN 10 AND 20;</code>
これにより、各行に一意の行番号が割り当てられ、特定の行範囲を選択できるようになります。
SQL Server 2000 以前:
古いバージョン (2000 以下) の場合は、TOP
句を含むネストされたクエリが必要です。
<code class="language-sql">SELECT TOP 10 * FROM (SELECT TOP 20 * FROM Table ORDER BY Id) AS LimitedSet ORDER BY Id DESC;</code>
このネストされたクエリは、最初に Id
順に上位 20 行を取得し、次に外側のクエリがそのサブセットから上位 10 行を選択して、目的の行制限を達成します。
ROW_NUMBER()
(新しいバージョンの場合) またはネストされたクエリで TOP
句 (古いバージョンの場合) を使用すると、 節。LIMIT
以上がSQL Server に LIMIT 機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。