ホームページ > データベース > mysql チュートリアル > DBMSに関係なくデータベーステーブルからN番目の行を取得するにはどうすればよいですか?

DBMSに関係なくデータベーステーブルからN番目の行を取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-20 16:57:12
オリジナル
877 人が閲覧しました

How to Retrieve the Nth Row from a Database Table Regardless of the DBMS?

N 番目の行を取得するためのデータベースに依存しないメソッド

概要

位置に基づいてデータベース テーブルの特定の行にアクセスすることは、頻繁に行われるタスクです。 個々のデータベース システム (DBMS) は独自のメソッドを提供しますが、いくつかのアプローチは異なるデータベース プラットフォーム間で機能します。

クロス DBMS テクニック

  • OFFSET-LIMIT 句:

    • PostgreSQL、MySQL: SELECT ... LIMIT y OFFSET x
    • を使用します
  • ウィンドウ関数:

    • Oracle、SQL Server、DB2: 次のようにウィンドウ関数を使用します:
    <code class="language-sql">  SELECT * FROM (
        SELECT
          ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
          columns
        FROM tablename
      ) AS foo
      WHERE rownumber = n</code>
    ログイン後にコピー

DBMS 固有のソリューション

  • SQL Server: ウィンドウ関数のアプローチ (上記のとおり) が適用できます。

  • MySQL: OFFSET-LIMIT 句 (上記のとおり) が推奨される方法です。

  • PostgreSQL: OFFSET-LIMIT 句とウィンドウ関数 (バージョン 8.4 以降) の両方が適しています。

  • SQLite: OFFSET-LIMIT 関数とウィンドウ関数の両方のサポートは、バージョン 3.25.0 以降で利用できます。

  • Oracle: ウィンドウ関数方式 (前述のとおり) が標準的なアプローチです。

以上がDBMSに関係なくデータベーステーブルからN番目の行を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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