sql >> Databasteknik >  >> RDS >> Mysql

mysql limit kollaps, vilket resulterar i datainteraktion

Använd order by !

SQL-tabeller representerar oordnade uppsättningar av rader. Utan en order by klausul, databasen är fri att returnera raderna i vilken ordning den vill, och resultaten kanske inte är konsekventa över på varandra följande körningar av samma fråga (därav är sideringen inte stabil).

select course_id, grade_id 
from sc_base_course 
where  agency_id = 10000  
order by course_id, grade_id
limit 10,10;

Observera att du inte bara behöver en order by sats, men även denna sats måste vara deterministisk . Det vill säga, kolumnen (eller uppsättningen kolumner) i satsen måste unikt identifiera varje post - annars är det återigen odefinierat i vilken ordning kopplingar kommer att hämtas.




  1. PHP, SQL limit-fråga efter php-variabel

  2. Hur hittar man den största tabellen i MySQL-databasen?

  3. ABS() Exempel i SQL Server

  4. Markörer på MySQL - bra eller dåligt