SQL ServerでSELECT文の取得件数を制限し、任意の件数を取得する

Database データベース
この記事は約2分で読めます。

前回は、DB2の場合にSELECT文の取得件数を制限し、任意の件数を取得する方法を紹介しました。

今回は、「SQL Server」の場合です。

なお、今回のバージョンは以下です。

  • SQL Server 2008 Express Edition
スポンサーリンク

はじめのX件を取得したい場合は、SELECT句の先頭に「TOP X」を使用する。

X件目~Y件目を取得したい場合は、「ROW_NUMBER()」関数を使用し、番号を振り、そこから取得件数を制限することができる。

実際の使い方は以下のよう。

--testテーブルをcolumn1順にはじめの100件のみ取得する
SELECT TOP 100
       column1
      ,column2
FROM test
ORDER BY column1

--testテーブルをcolumn1順に101件目~200件目のみ取得する
SELECT column1 FROM
(SELECT column1,ROW_NUMBER() OVER (ORDER BY column1) AS rownum
FROM test) AS t
WHERE rownum BETWEEN 101 AND 200
ORDER BY rownum

以上です。

参考サイト

SQLで先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL)

SELECT時の件数制限 | SQL ServerのQ&A【OKWave】

ROW_NUMBER (Transact-SQL)

スポンサーリンク
スポンサーリンク
データベース
えふめんをフォローする
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
俺の開発研究所

コメント

タイトルとURLをコピーしました