Utilisez order by
!
Les tables SQL représentent des ensembles de lignes non ordonnés. Sans order by
clause, la base de données est libre de renvoyer les lignes dans l'ordre qu'elle souhaite, et les résultats peuvent ne pas être cohérents lors d'exécutions consécutives de la même requête (par conséquent, la pagination n'est pas stable).
select course_id, grade_id
from sc_base_course
where agency_id = 10000
order by course_id, grade_id
limit 10,10;
Notez que non seulement vous avez besoin d'un order by
clause, mais aussi cette clause doit être déterministe . C'est-à-dire que la colonne (ou l'ensemble de colonnes) de la clause doit identifier de manière unique chaque enregistrement ; sinon, l'ordre dans lequel les liens seront extraits n'est, encore une fois, pas défini.