MySQL LIMIT (Română)

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ă:

  • offset specifică compensate, în primul rând, să se întoarcă. offset din primul rând este 0, Nu 1.
  • row_count specifică 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 BY clauza felul clienții cu credite în mare la mic.,
  • apoi, clauza LIMIT returnează 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 BY clauza felul clienții cu credite de la mic la mare.
  • apoi, clauza LIMIT returnează 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 BY clauza 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 de customers tabel:

    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., LIMIT clauză 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 LIMIT clauză 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, 10 returnează 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 LIMIT clauza:

    Code language: SQL (Structured Query Language) (sql)

    clauza LIMIT n-1, 1 livrare 1 rând începând de la rând n.

    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 LIMIT clauze pentru a limita numărul de rânduri returnate de către SELECT declarație.

    • a fost acest tutorial util?
    • YesNo

Author: admin

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *