sql >> Database >  >> RDS >> Mysql

mysql limit ineenstorting, wat resulteert in data interactie

Gebruik order by !

SQL-tabellen vertegenwoordigen ongeordende reeksen rijen. Zonder een order by clausule, is het de database vrij om de rijen terug te geven in elke gewenste volgorde, en de resultaten zijn mogelijk niet consistent over opeenvolgende uitvoeringen van dezelfde zoekopdracht (daarom is de paginering niet stabiel).

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

Merk op dat je niet alleen een order by nodig hebt clausule, maar ook deze clausule moet deterministisch zijn . Dat wil zeggen, de kolom (of reeks kolommen) in de clausule moet elk record op unieke wijze identificeren - anders is het opnieuw niet gedefinieerd in welke volgorde banden worden opgehaald.




  1. het gebruik van mysql LOAD-instructie in PHP mislukt, maar doen via de opdrachtregel werkt

  2. Django Manytomany vraagt ​​raar gedrag

  3. Is het mogelijk om een ​​SELECT-instructie uit een PL/SQL-blok uit te voeren?

  4. Probleem bij het installeren van South op bestaande database. MySql ondersteunt geen 'schema-veranderende instructies'