Brug order by
!
SQL-tabeller repræsenterer uordnede sæt rækker. Uden en order by
klausul, er databasen fri til at returnere rækkerne i den rækkefølge, den vil, og resultaterne er muligvis ikke konsistente over på hinanden følgende udførelser af den samme forespørgsel (derfor er paginering ikke stabil).
select course_id, grade_id
from sc_base_course
where agency_id = 10000
order by course_id, grade_id
limit 10,10;
Bemærk, at du ikke kun har brug for en order by
klausul, men også denne klausul skal være deterministisk . Det vil sige, at kolonnen (eller sættet af kolonner) i klausulen skal identificere hver post entydigt - ellers er det igen udefineret, i hvilken rækkefølge bindinger vil blive hentet.