Maison >base de données >tutoriel mysql >Comment puis-je sélectionner une plage spécifique de lignes à l'aide de ROWNUM dans SQL ?

Comment puis-je sélectionner une plage spécifique de lignes à l'aide de ROWNUM dans SQL ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-06 03:33:52196parcourir

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

Renvoi d'une plage spécifique de valeurs ROWNUM en SQL

Lorsque vous travaillez avec des données en SQL, il est souvent utile de pouvoir sélectionner un plage spécifique de lignes en fonction de leurs numéros de ligne. La pseudo-colonne ROWNUM fournit un moyen pratique de référencer la position d'une ligne dans son ensemble de résultats.

Problème :

Considérez la requête suivante :

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

Cette requête est destinée à renvoyer toutes les lignes de la table maps006 avec des numéros de ligne supérieurs à 49 et inférieurs à 101. Cependant, il renvoie uniquement les lignes qui satisfont l'opérateur inférieur à (<), en ignorant l'opérateur supérieur à (>).

Solution :

Pour Si vous récupérez correctement les lignes dans la plage spécifiée, vous pouvez utiliser une sous-requête pour créer une table temporaire qui inclut une nouvelle colonne appelée r pour les numéros de ligne. La requête suivante y parvient :

SELECT * from
(
  select m.*, rownum r
  from maps006 m
)
where r > 49 and r < 101
  • La sous-requête interne sélectionne toutes les colonnes (m.*) de la table maps006 et ajoute une nouvelle colonne nommée r qui contient les numéros de ligne.
  • La requête externe filtre ensuite la table temporaire en fonction de la plage souhaitée de numéros de ligne.

En utilisant cette approche, vous pouvez efficacement renvoie les lignes qui se situent dans la plage ROWNUM spécifiée.

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