ホームページ >データベース >mysql チュートリアル >SQL で ROWNUM を使用して特定の範囲の行を選択するにはどうすればよいですか?

SQL で ROWNUM を使用して特定の範囲の行を選択するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-06 03:33:52225ブラウズ

How Can I Select a Specific Range of Rows Using ROWNUM in SQL?

SQL で特定の範囲の ROWNUM 値を返す

SQL でデータを操作する場合、多くの場合、ROWNUM 値を選択できると便利です。行番号に基づいて行の特定の範囲を指定します。 ROWNUM 疑似列は、結果セット内の行の位置を参照する便利な方法を提供します。

問題:

次のクエリを考えてみましょう:

select * from maps006 where rownum >49 and rownum <101

このクエリは、maps006 テーブルから行番号が 49 より大きく、それ以下のすべての行を返すことを目的としています。ただし、より小さい (<) 演算子を満たす行のみが返され、より大きい (>) 演算子は無視されます。

解決策:

指定された範囲内の行を正しく取得するには、サブクエリを使用して、行番号用の r という新しい列を含む一時テーブルを作成します。次のクエリはこれを実現します。

SELECT * from
(
  select m.*, rownum r
  from maps006 m
)
where r > 49 and r < 101
  • 内部サブクエリは、maps006 テーブルからすべての列 (m.*) を選択し、行番号を含む r という名前の新しい列を追加します。
  • その後、外部クエリは行番号の目的の範囲に基づいて一時テーブルをフィルタリングします。

これを使用します。このアプローチを使用すると、指定された ROWNUM 範囲内にある行を効果的に返すことができます。

以上がSQL で ROWNUM を使用して特定の範囲の行を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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