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
Dans cette requête :
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!