ホームページ >データベース >mysql チュートリアル >SQL Server に LIMIT 機能を実装するにはどうすればよいですか?

SQL Server に LIMIT 機能を実装するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-14 07:08:42537ブラウズ

How to Implement LIMIT Functionality in SQL Server?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。