ホームページ > データベース > mysql チュートリアル > SQL Server で SQL クエリによって返される行を制限するにはどうすればよいですか?

SQL Server で SQL クエリによって返される行を制限するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-14 08:55:46
オリジナル
708 人が閲覧しました

How to Limit Rows Returned by a SQL Query in SQL Server?

SQL Server の LIMIT 句: 実装と代替

多くの開発者は、MySQL やその他のデータベース管理システムで一般的に使用される LIMIT 句を使用して、SQL クエリによって返される行数を制限することに慣れています。ただし、SQL Server は LIMIT 句をネイティブにサポートしていません。この記事では、SQL Server で同じ機能を実現する別の方法について説明します。

方法 1: SQL Server 2005 以降のバージョンの ROW_NUMBER() 関数

SQL Server 2005 以降の場合、ROW_NUMBER() 関数を使用して LIMIT 句をシミュレートできます。次の例は、このアプローチを示しています:

<code class="language-sql">USE AdventureWorks;
GO
WITH OrderedOrders AS
(
    SELECT SalesOrderID, OrderDate,
    ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'
    FROM Sales.SalesOrderHeader 
) 
SELECT * 
FROM OrderedOrders 
WHERE RowNumber BETWEEN 10 AND 20;</code>
ログイン後にコピー

このクエリは、SalesOrderID が 10 ~ 20 の行を返し、結果セットを効果的に制限します。

方法 2: SQL Server 2000 以前の入れ子になったクエリ

SQL Server 2000 以前の場合は、ネストされたクエリ方法を使用できます。

<code class="language-sql">SELECT TOP 10 * FROM (SELECT TOP 20 * FROM Table ORDER BY Id) ORDER BY Id DESC</code>
ログイン後にコピー

このクエリは、ID で並べ替えられた最初の 20 行を返す内部サブクエリから最初の 10 行を取得します。外側のサブクエリでソート順序を逆にすると、最終結果は ID の昇順で上位 10 行になります。

以上がSQL Server で SQL クエリによって返される行を制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート