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

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

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

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

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

  • SQL Server 2008 Express Edition

TOP句を使用して、はじめのX件を取得するSQL

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

使用例はこちら。

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

ROW_NUMBER関数を使用して、X件目~Y件目を取得するSQL

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

使用例はこちら。

--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 ServerのSELECT文の取得件数を制限し、任意の件数を取得するには、TOP句ROW_NUMBER関数を使おう。

データベース
えふめん

大阪在住、30代。
業務系SE・社内SEの仕事を通じて学んだこと、PCトラブルで困って調べたこと、手作業を効率化して改善したこと、WordPressのブログ運営などの記事を書いています。

えふめんをフォローする
\よかったらシェアしてね/
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
俺の開発研究所

コメント

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