ホームページ > データベース > mysql チュートリアル > SQL データベース テーブルから n 番目の行を選択するにはどうすればよいですか?

SQL データベース テーブルから n 番目の行を選択するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-20 16:38:43
オリジナル
259 人が閲覧しました

How Can I Select the nth Row from a SQL Database Table?

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 サイトの他の関連記事を参照してください。

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