rezumat: în acest tutorial, veți învăța cum să utilizați MySQL LIMIT clauza pentru a constrânge numărul de rânduri returnate de o interogare.
Introducere în MySQL LIMITA clauza
LIMIT clauză este utilizată în SELECT declarație pentru a limita numărul de rânduri pentru a reveni. Clauza LIMIT acceptă unul sau două argumente. Valorile ambelor argumente trebuie să fie numere întregi zero sau pozitive.,
următoarele ilustrează LIMIT clauza de sintaxă cu două argumente:
Code language: SQL (Structured Query Language) (sql)
În această sintaxă:
-
offsetspecifică compensate, în primul rând, să se întoarcă.offsetdin primul rând este 0, Nu 1. -
row_countspecifică numărul maxim de rânduri de returnat.,
imaginea De mai jos ilustrează LIMIT clauza:
atunci Când utilizați LIMIT clauza cu un singur argument, MySQL va folosi acest argument pentru a determina numărul maxim de rânduri pentru a reveni la primul rând al setului de rezultate.,
prin Urmare, aceste două propoziții sunt echivalente:
Code language: SQL (Structured Query Language) (sql)
Și
În plus față de cele de mai sus sintaxa, MySQL oferă următoarele alternative LIMIT clauza de compatibilitate cu PostgreSQL.
Code language: SQL (Structured Query Language) (sql)
LIMITĂ și ORDINEA DE clauzele
SELECT declarație fără un ORDER BY clauza de returnare rânduri într-o nespecificat ordine. Aceasta înseamnă că rândurile pot fi în orice ordine., Când aplicați clauza LIMIT la acest set de rezultate neordonat, nu veți ști ce rânduri va reveni interogarea.de exemplu, poate doriți să obțineți al cincilea până la al zecelea rând, dar al cincilea până la al zecelea în ce ordine? Ordinea rândurilor nu este cunoscută decât dacă specificați clauza ORDER BY.
prin Urmare, este o bună practică de a utiliza întotdeauna LIMIT clauza cu ORDER BY clauza de constrângere rezultatul rânduri în ordine unic.,
Code language: SQL (Structured Query Language) (sql)
imaginea De mai jos ilustrează evaluare ordinea de LIMIT clauză în SELECT declarație:
MySQL LIMITA exemple
Vom folosi customers tabel din baza de date eșantion pentru demonstrație.,
1) Folosind MySQL LIMITĂ pentru a obține cel mai mare sau cel mai mic rânduri
Această declarație foloseste LIMIT clauză pentru a obține primele cinci clienți care au cel mai mare credit:
Code language: SQL (Structured Query Language) (sql)
Încercați să-L Afară
În acest exemplu:
- în Primul rând,
ORDER BYclauza felul clienții cu credite în mare la mic., - apoi, clauza
LIMITreturnează primele 5 rânduri.
de asemenea, acest exemplu utilizează LIMIT clauza de a găsi 5 clienți care au cel mai mic credite:
Code language: SQL (Structured Query Language) (sql)
Încercați să-L Afară
În acest exemplu:
- în Primul rând,
ORDER BYclauza felul clienții cu credite de la mic la mare. - apoi, clauza
LIMITreturnează primele 5 rânduri.,deoarece există mai mult de 5 clienți care au credite zero, rezultatul interogării de mai sus poate duce la un rezultat inconsistent.,Pentru a rezolva această problemă, aveți nevoie pentru a adăuga mai multe coloane la
ORDER BYclauza de a constrânge pe rând în ordine unic:Code language: SQL (Structured Query Language) (sql)Încercați să-L Afară
2) Folosind MySQL LIMITĂ pentru paginare
Când aveți de a afișa datele de pe aplicații, de multe ori doriți să împărțiți rânduri în pagini, în cazul în care fiecare pagină conține un anumit număr de rânduri ca 5, 10, sau 20.pentru a calcula numărul de pagini, obțineți rândurile totale împărțite la numărul de rânduri pe pagină., Pentru preluarea rândurilor unei anumite pagini, puteți utiliza clauza
LIMIT.Această interogare folosește
COUNT(*)funcția agregată pentru a obține totalul rânduri decustomerstabel:Code language: SQL (Structured Query Language) (sql)Code language: JavaScript (javascript)să Presupunem că fiecare pagină are 10 rânduri, pentru a afișa 122 clienți ai 13 pagini. Ultima pagină 13 conține doar două rânduri.,
LIMITclauză pentru a obține rânduri din pagina 1, care conține primele 10 clienți sortate în funcție de numele clientului:Code language: SQL (Structured Query Language) (sql)Încercați să-L Afară
Această interogare folosește
LIMITclauză pentru a obține rândurile de pagina a doua, care includ randul 11 – 20:Code language: SQL (Structured Query Language) (sql)Încercați să-L Afară
În acest exemplu, clauza
LIMIT 10, 10returnează 10 rânduri pentru randul 11 – 20.,3) Folosind MySQL LIMITA pentru a obține cel mai inalt mai mare sau mai mică valoare
Pentru a obține cel mai inalt mai mare sau mai mică valoare, utilizați următoarele
LIMITclauza:Code language: SQL (Structured Query Language) (sql)clauza
LIMIT n-1, 1livrare1rând începând de la rândn.De exemplu, următoarele găsește client care are al doilea cel mai mare credit:
Code language: SQL (Structured Query Language) (sql)Încercați să-L Afară
Să verificați rezultatul., Această interogare returnează toți clienții sortate de credite de la mare la mic:
Code language: SQL (Structured Query Language) (sql)Încercați să-L Afară
după Cum puteți vedea în mod clar de la ieșire, rezultatul a fost corect cum era de așteptat.rețineți că această tehnică funcționează atunci când nu există doi clienți care au aceleași limite de credit. Pentru a obține un rezultat mai precis, ar trebui să utilizați funcția ferestrei
DENSE_RANK().,În acest tutorial, ai învățat cum să utilizați MySQL
LIMITclauze pentru a limita numărul de rânduri returnate de cătreSELECTdeclarație.- a fost acest tutorial util?
- YesNo




