Maison > base de données > tutoriel mysql > Comment récupérer une plage spécifique de lignes à l'aide du ROWNUM de SQL ?

Comment récupérer une plage spécifique de lignes à l'aide du ROWNUM de SQL ?

DDD
Libérer: 2025-01-06 00:47:38
original
431 Les gens l'ont consulté

How to Retrieve a Specific Range of Rows Using SQL's ROWNUM?

Récupération d'une plage spécifique de valeurs SQL ROWNUM

En SQL, la pseudo-colonne ROWNUM peut être utilisée pour récupérer la position de la ligne actuelle dans le résultat ensemble. C’est souvent utile lors du renvoi d’une plage limitée de lignes. Cependant, votre requête actuelle semble rencontrer des problèmes pour renvoyer des lignes dans une plage spécifique.

Pour remédier à ce problème, une légère modification est nécessaire. Au lieu d'utiliser la pseudo-colonne ROWNUM standard, vous devez utiliser une sous-requête pour créer une table temporaire ou CTE (Common Table Expression) qui inclut à la fois les données d'origine et les numéros de ligne. Cette approche garantit que les numéros de ligne sont évalués avant que les conditions de filtrage ne soient appliquées.

La requête corrigée ressemblerait à ceci :

SELECT *
FROM
(
  SELECT m.*, ROWNUM() OVER (ORDER BY m.id) AS r
  FROM maps006 m
)
WHERE r > 49 AND r < 101
Copier après la connexion

Dans cette requête :

  • ROWNUM() OVER (ORDER BY m.id) crée une nouvelle colonne nommée r qui contient les numéros de ligne de chaque ligne de la table maps006, classés par identifiant column.
  • La sous-requête est alias m pour correspondre au nom de la table d'origine.
  • La requête principale filtre ensuite le résultat de la sous-requête en utilisant la plage souhaitée pour r (c'est-à-dire les lignes supérieures à 49 et inférieures que 101).

Cette requête révisée devrait récupérer avec succès les lignes dans le ROWNUM spécifié gamme.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal