Maison >base de données >tutoriel mysql >Comment puis-je sélectionner la nième ligne d'une table de base de données SQL ?

Comment puis-je sélectionner la nième ligne d'une table de base de données SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-20 16:38:43182parcourir

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

Récupération de la nième ligne d'une table SQL

Ce guide montre comment sélectionner la nième ligne d'une table de base de données SQL, couvrant à la fois les méthodes indépendantes de la base de données et spécifiques à la base de données.

Une approche universelle

Bien que les standards SQL offrent des fonctionnalités de sélection de lignes, de nombreux systèmes de bases de données les implémentent différemment. Une méthode fiable et inter-bases de données utilise une sous-requête avec la ROW_NUMBER() fonction analytique :

<code class="language-sql">WITH OrderedRows AS (
    SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNum, OrderID, OrderDate
    FROM Orders
)
SELECT *
FROM OrderedRows
WHERE RowNum = n</code>

Remplacez n par le numéro de ligne souhaité, OrderID par votre clé primaire ou colonne de tri, et Orders par le nom de votre table.

Techniques spécifiques aux bases de données

PostgreSQL et MySQL :

Ces bases de données utilisent les clauses OFFSET et LIMIT (notez qu'il s'agit d'une approche non standard) :

<code class="language-sql">SELECT *
FROM your_table
LIMIT 1 OFFSET n-1;</code>

Ici, n-1 est utilisé car OFFSET commence à compter à partir de 0.

Oracle, DB2 et MSSQL :

Ces systèmes prennent en charge les fonctions de fenêtre standard :

<code class="language-sql">SELECT * FROM (
    SELECT
        ROW_NUMBER() OVER (ORDER BY key_column ASC) AS rn,
        *
    FROM your_table
) AS numbered_rows
WHERE rn = n;</code>

Remplacez key_column par votre clé primaire ou colonne de tri, your_table par le nom de votre table et n par le numéro de ligne souhaité.

Mises à jour PostgreSQL et SQLite :

PostgreSQL version 8.4 et versions ultérieures, et SQLite version 3.25.0 et versions ultérieures, prennent toutes deux en charge les fonctions de fenêtre standard, ce qui rend l'approche universelle décrite ci-dessus entièrement compatible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn