Man ir šāds pieprasījums:
Izvēlēt rakstu no tabulas1 ORDER BY public_date LIMIT 20
.
Kā darbojas ORDER BY? Vai tas sakārto visus ierakstus, tad iegūst pirmos 20, vai arī iegūst 20 ierakstus un sakārto tos pēc publish_date
lauka?
Ja tas ir pēdējais, tad nav garantēts, ka patiešām tiks iegūti 20 jaunākie raksti.
Lai ierobežotu ar SELECT izteikumu atgriezto rindu skaitu, var izmantot klauzulu LIMIT. LIMIT izmanto vienu vai divus skaitliskus argumentus, kuriem abiem jābūt nenegatīvām veselu skaitļu konstantām (izņemot gadījumus, kad tiek izmantoti sagatavotie izraksti).
Izmantojot divus argumentus, pirmais arguments norāda pirmās atgriežamās rindas nobīdi, bet otrais norāda maksimālo atgriežamo rindu skaitu. Sākotnējās rindas nobīde ir 0 (nevis 1):
SELECT * FROM tbl LIMIT 5,10; # Atgriež 6-15 rindu
Lai iegūtu visas rindas no noteikta nobīde līdz rezultātu kopas beigām, otrajam parametram var izmantot kādu lielu skaitli. Šis paziņojums iegūst visas rindas no 96. rindas līdz pēdējai:
SELECT * FROM tbl LIMIT 95,18446744073709551615;
Ar vienu argumentu vērtība norāda rindu skaitu, kas jāatgriež no rezultātu kopas sākuma:
SELECT * FROM tbl LIMIT 5; # Atgūt pirmās 5 rindas
Citiem vārdiem sakot, LIMIT row_count ir ekvivalents LIMIT 0, row_count.
Visa informācija par: http://dev.mysql.com/doc/refman/5.0/en/select.html