Mysql
 sql >> Database >  >> RDS >> Mysql

mysql limit crollo, che provoca l'interazione dei dati

Usa order by !

Le tabelle SQL rappresentano insiemi di righe non ordinati. Senza un order by clausola, il database è libero di restituire le righe nell'ordine che preferisce e i risultati potrebbero non essere coerenti su esecuzioni consecutive della stessa query (quindi, l'impaginazione non è stabile).

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

Nota che non solo hai bisogno di un order by clausola, ma anche questa clausola deve essere deterministica . Cioè, la colonna (o l'insieme di colonne) nella clausola deve identificare in modo univoco ogni record, altrimenti è, ancora una volta, indefinito in quale ordine verranno recuperati i legami.