Odaberite prvih 10 redaka u SQL-u

Odaberite Prvih 10 Redaka U Sql U



Kada radimo u SQL bazi podataka, možemo naići na slučajeve kada trebamo dohvatiti određeni podskup redaka iz dane tablice. To nam omogućuje da ograničimo resurse potrebne za dohvaćanje vrijednosti iz tablice.

Srećom, u SQL-u imamo pristup klauzuli LIMIT koja nam omogućuje kontrolu broja redaka koji se vraćaju unutar zadanog skupa rezultata. Ova značajka je vrlo korisna kada imamo posla s velikim skupom podataka i zapravo ne trebamo cijeli red, već njegov podskup. To može biti ili dobivanje izgleda podataka ili prezentacije.

U ovom vodiču naučit ćemo kako možemo koristiti i raditi s klauzulom LIMIT u SQL bazama podataka da odredimo broj redaka koje želimo dohvatiti iz baze podataka.







Zahtjevi:

Prije nego što zaronimo u rad i korištenje klauzule LIMIT u SQL-u, raspravimo neke osnovne zahtjeve za ovaj vodič.



Da biste pratili ovaj post, trebat će vam sljedeće:



  1. MySQL 8.0 i novije verzije rade s MySQL 5
  2. Pristup bazi podataka uzoraka Sakila
  3. Dopuštenja za upite redaka iz ciljne baze podataka (pristup za čitanje)

Uz ispunjenje zadanih zahtjeva, možemo nastaviti s ovim vodičem.





SQL OGRANIČENJE

U SQL-u, klauzula LIMIT omogućuje nam da ograničimo broj redaka koji se vraćaju iz određenog SQL upita. Na primjer, u naredbi odabira, umjesto vraćanja svih redaka iz tablice koja može sadržavati više od 1000 zapisa, možemo odabrati pregled samo prvih 10 redaka.

Sljedeće prikazuje osnovnu sintaksu klauzule LIMIT u SQL-u:



SELECT col1, col2, ...

IZ tbl_name

LIMIT num_rows;

U ovom primjeru koristimo klauzulu LIMIT u kombinaciji s naredbom SELECT.

Iz dane sintakse, 'tbl_name' predstavlja naziv tablice iz koje želimo dohvatiti podatke.

“num_rows” nam omogućuje da navedemo najveći broj redaka koji se vraćaju u skupu rezultata.

Primjer 1: Ograničite broj redaka

Najčešća i temeljna uloga klauzule LIMIT je postavljanje maksimalnog broja redaka koji su uključeni u skup rezultata.

Pretpostavimo da želimo upotrijebiti tablicu 'film' iz uzorka baze podataka Sakila. Međutim, budući da ne želimo dohvatiti sve povezane retke, možemo odabrati prvih 10 redaka kao što je prikazano u sljedećoj klauzuli primjera:

ODABIR * IZ filma

OGRANIČITI 10 ;

Nakon što pokrenemo zadani upit, trebali bismo dobiti sljedeći rezultat:

  Snimka zaslona računala Opis automatski generiran

U ovom primjeru koristimo klauzulu LIMIT da ograničimo skup rezultata na 10 redaka. Ovo dohvaća prvih 10 redaka iz rezultata.

Primjer 2: Korištenje vrijednosti OFFSET

U nekim slučajevima možda ćemo htjeti preskočiti ili izostaviti određeni broj redaka. Na primjer, pretpostavimo da želimo dohvatiti samo pet elemenata, ali želimo početi od pozicije 20. Možemo koristiti parametar OFFSET koji nam omogućuje da klauzuli LIMIT kažemo od koje pozicije želimo početi.

Ovo je osobito korisno kada trebate implementirati paginaciju u velikom skupu podataka kao što je prikazano u sljedećem primjeru:

SELECT film_id, title, release_year, `length` FROM filma

OGRANIČITI 10 OFFSET dvadeset ;;

Ovo bi trebalo vratiti 10 redaka počevši od pozicije 20 kako slijedi:

Kao što možete vidjeti iz danog rezultata, početni 'film_id' počinje na poziciji 21 i nastavlja na poziciju 30.

Primjer 3: Korištenje klauzule Order BY

Druga uobičajena uporaba klauzule LIMIT je u kombinaciji s klauzulom ORDER BY. To nam omogućuje dohvaćanje određenog broja redaka koji se temelje na određenom redoslijedu. To može uključivati ​​osnovno sortiranje (uzlazno ili silazno), itd.

Na primjer, pretpostavimo da želimo dohvatiti prvih 10 najdužih filmova iz tablice 'filmovi'. Možemo koristiti klauzulu ORDER BY za sortiranje vrijednosti na temelju duljine i zatim ograničiti prvih 10 redaka.

Primjer je sljedeći:

SELECT f.film_id, f.title, f.length

IZ filma f

NARUDŽBA PO duljini DESC

OGRANIČITI 10 ;

U ovom slučaju, koristimo klauzulu ORDER BY za redoslijed redaka silaznim redoslijedom (od najvećeg do najnižeg), a zatim dohvaćamo prvih 10 redaka pomoću klauzule LIMIT.

Skup rezultata je sljedeći:

  Tablica opisa popisa automatski generirana sa srednjom pouzdanošću

Eto ga!

Zaključak

U ovom smo postu naučili osnove i napredne značajke rada s klauzulom LIMIT u SQL bazama podataka.