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

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

※当ブログではアフィリエイト広告を利用しています。

DB2」でSELECT文の取得件数を制限し、任意の件数を取得したい。

調べてみると、次のような書き方ができるようだ。

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

  • DB2/400

FETCH FIRST X ROWS ONLYを使用して、はじめのX件を取得するSQL

はじめのX件を取得したい場合は、「FETCH FIRST X ROWS ONLY」を使用する。

使用例はこちら。

--testテーブルをcolumn1順にはじめの100件のみ取得する
SELECT
  column1
FROM
  test
ORDER BY
  column1
FETCH FIRST 100 ROWS ONLY

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

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

使用例はこちら。

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

最後に

DB2でSELECT文の取得件数を制限し、任意の件数を取得することができた。

なお、SQL Serverの場合はこちらの記事を参考にしてください。

データベース
\よかったらシェアしてね!/
えふめん

大阪在住、30代。
業務系SE・社内SE。

PCトラブルの調査、自作デスクトップPCのこと、PC周辺機器のレビューなどの記事を書いています。

えふめんをフォローする
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。

コメント

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