Maison  >  Article  >  base de données  >  Explication détaillée de la différence entre la pagination Mysql et Oracle

Explication détaillée de la différence entre la pagination Mysql et Oracle

黄舟
黄舟original
2017-09-06 14:43:381906parcourir

Mysql utilise la pagination limitée et Oracle utilise la pagination rownum. Cet article présentera la différence entre la pagination Oracle et Mysql. Les amis qui en ont besoin peuvent s'y référer

1. Mysql utilise la pagination limitée. Pagination


select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize

PS :

(1) La première valeur du paramètre m représente la ligne de départ, la seconde Le paramètre indique le nombre de lignes à prendre (taille de la page)

(2) m= (2-1)*10+1,n=10, ce qui signifie que la limite 11,10 commence à partir de la ligne 11 et prend la ligne 10 , c'est-à-dire les 2 pages de données.

(3) Les valeurs des paramètres m et n ne peuvent pas être écrites dans des expressions de calcul dans l'instruction. Les valeurs doivent être calculées avant d'être écrites dans l'instruction.

2. Oracle utilise la pagination rownum


select * from (
select rownum rn,a.* from table_name a where rownum <= x
//结束行,x = startPage*pageSize
)
where rn >= y; //起始行,y = (startPage-1)*pageSize+1

PS :

(1) >= y, <= x signifie de la ligne y (ligne de départ) à la ligne x (ligne de fin).

(2) rownum ne peut être comparé qu'à un nombre inférieur à, pas supérieur à, car rownum est d'abord interrogé puis trié. Par exemple, votre condition est rownum>1, lorsque la première donnée est interrogée, rownum est. 1, puis Non éligible. Les 2ème, 3ème... sont similaires, mais ils ne remplissent jamais les conditions, donc aucun résultat n'est jamais renvoyé. Par conséquent, vous devez définir un alias lors de l'interrogation, puis appeler l'alias pour déterminer la valeur supérieure à une fois la requête terminée.

Résumé

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