SQL テーブルから n 番目の行を取得します
このガイドでは、SQL データベース テーブルから n 番目の行を選択する方法を説明し、データベースに依存しない方法とデータベース固有の方法の両方をカバーします。
普遍的なアプローチ
SQL 標準では行選択機能が提供されていますが、多くのデータベース システムではそれらの機能が異なる方法で実装されています。信頼性の高いデータベース間メソッドでは、ROW_NUMBER()
分析関数を使用したサブクエリを使用します。
WITH OrderedRows AS ( SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNum, OrderID, OrderDate FROM Orders ) SELECT * FROM OrderedRows WHERE RowNum = n
n
を目的の行番号に、OrderID
を主キーまたは順序付け列に、Orders
をテーブル名に置き換えます。
データベース固有のテクニック
PostgreSQL と MySQL:
これらのデータベースは OFFSET
句と LIMIT
句を利用します (これは非標準的なアプローチであることに注意してください):
SELECT * FROM your_table LIMIT 1 OFFSET n-1;
ここで n-1
が使用されているのは、OFFSET
が 0 から数え始めるためです。
Oracle、DB2、および MSSQL:
これらのシステムは、標準のウィンドウ関数をサポートしています:
SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY key_column ASC) AS rn, * FROM your_table ) AS numbered_rows WHERE rn = n;
key_column
を主キーまたは順序列に置き換え、your_table
をテーブル名に、n
を目的の行番号に置き換えます。
PostgreSQL および SQLite の更新:
PostgreSQL バージョン 8.4 以降と SQLite バージョン 3.25.0 以降は、どちらも標準ウィンドウ関数をサポートしており、上記の汎用アプローチと完全な互換性があります。
以上がSQL データベース テーブルから n 番目の行を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。