Maison > Article > base de données > Explication détaillée de la différence entre la pagination Mysql et Oracle
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!