Użyj order by
!
Tabele SQL reprezentują nieuporządkowane zestawy wierszy. Bez order by
klauzula, baza danych może zwrócić wiersze w dowolnej kolejności, a wyniki mogą nie być spójne w kolejnych wykonaniach tego samego zapytania (stąd paginacja nie jest stabilna).
select course_id, grade_id
from sc_base_course
where agency_id = 10000
order by course_id, grade_id
limit 10,10;
Pamiętaj, że nie tylko potrzebujesz order by
klauzula, ale również ta klauzula musi być deterministyczna . Oznacza to, że kolumna (lub zestaw kolumn) w klauzuli musi jednoznacznie identyfikować każdy rekord - w przeciwnym razie znowu jest niezdefiniowana kolejność pobierania powiązań.