Atlasiet 10 populārākās SQL rindas

Atlasiet 10 Popularakas Sql Rindas



Strādājot SQL datu bāzē, mēs varam saskarties ar gadījumiem, kad mums ir jāiegūst noteikta rindu apakškopa no dotās tabulas. Tas ļauj mums ierobežot resursus, kas nepieciešami vērtību iegūšanai no tabulas.

Par laimi, SQL mums ir piekļuve LIMIT klauzulai, kas ļauj mums kontrolēt rindu skaitu, kas tiek atgrieztas noteiktā rezultātu kopā. Šī funkcija ir ļoti noderīga, ja mums ir darīšana ar lielu datu kopu un faktiski nav vajadzīga visa rinda, bet gan tās apakškopa. Tas var būt datu vai prezentācijas izkārtojuma iegūšana.

Šajā apmācībā mēs uzzināsim, kā mēs varam izmantot un strādāt ar LIMIT klauzulu SQL datu bāzēs, lai norādītu rindu skaitu, kuras vēlamies izgūt no datu bāzes.







Prasības:

Pirms iedziļināmies LIMIT klauzulas darbībā un lietošanā SQL, apspriedīsim dažas šīs apmācības pamatprasības.



Lai sekotu šai ziņai, jums būs nepieciešams:



  1. MySQL 8.0 un jaunākas versijas darbojas ar MySQL 5
  2. Piekļuve Sakila paraugu datubāzei
  3. Atļaujas vaicāt rindas no mērķa datu bāzes (lasīšanas piekļuve)

Ja ir izpildītas norādītās prasības, mēs varam turpināt šo apmācību.





SQL LIMIT

SQL klauzula LIMIT ļauj ierobežot rindu skaitu, kas tiek atgrieztas no noteiktā SQL vaicājuma. Piemēram, atlases priekšrakstā tā vietā, lai atgrieztu visas tabulas rindas, kurās var būt vairāk nekā 1000 ierakstu, mēs varam izvēlēties skatīt tikai pirmās 10 rindas.

Tālāk ir parādīta LIMIT klauzulas pamata sintakse SQL:



ATLASĪT 1. kolonnu, 2. kolonnu, ...

NO tbl_name

LIMIT rindu_skaits;

Šajā piemērā mēs izmantojam LIMIT klauzulu kopā ar SELECT priekšrakstu.

No dotās sintakses “tbl_name” apzīmē tās tabulas nosaukumu, no kuras mēs vēlamies izgūt datus.

“Num_rows” ļauj mums norādīt maksimālo rindu skaitu, kas tiek atgrieztas rezultātu kopā.

1. piemērs: ierobežojiet rindu skaitu

Visizplatītākā un svarīgākā LIMIT klauzulas loma ir iestatīt maksimālo rezultātu kopā iekļauto rindu skaitu.

Pieņemsim, ka mēs vēlamies izmantot tabulu “filma” no Sakila paraugu datu bāzes. Tomēr, tā kā mēs nevēlamies ienest visas saistītās rindas, mēs varam atlasīt pirmās 10 rindas, kā parādīts šajā piemērā:

IZVĒLĒTIES * NO filmas

LIMIT 10 ;

Kad mēs palaižam doto vaicājumu, mums vajadzētu iegūt šādu izvadi:

  Automātiski ģenerēts datora apraksta ekrānuzņēmums

Šajā piemērā mēs izmantojam klauzulu LIMIT, lai ierobežotu rezultātu kopu līdz 10 rindām. Tādējādi tiek iegūtas pirmās 10 rindas no rezultāta.

2. piemērs: OFFSET vērtības izmantošana

Dažos gadījumos mēs varam vēlēties izlaist vai izlaist noteiktu rindu skaitu. Piemēram, pieņemsim, ka mēs vēlamies izgūt tikai piecus elementus, bet mēs vēlamies sākt no 20. pozīcijas. Mēs varam izmantot parametru OFFSET, kas ļauj mums norādīt LIMIT klauzulai, kurā pozīcijā mēs vēlamies sākt.

Tas ir īpaši noderīgi, ja ir jāievieš lappušu kārtošana lielā datu kopā, kā parādīts šajā piemērā:

ATLASĪT filmas_id, nosaukumu, izlaiduma_gadu, `garumu` NO filmas

LIMIT 10 OFFSET divdesmit ;;

Tam ir jāatgriež 10 rindas, sākot no 20. pozīcijas šādi:

Kā redzams no dotā rezultāta, starts “film_id” sākas no 21. pozīcijas un turpinās uz 30. pozīciju.

3. piemērs: Pasūtījuma BY klauzula izmantošana

Vēl viens izplatīts LIMIT klauzulas lietojums ir kombinācijā ar klauzulu ORDER BY. Tas ļauj mums izgūt noteiktu skaitu rindu, kuru pamatā ir noteikts pasūtījums. Tas var ietvert pamata kārtošanu (augošā vai dilstošā secībā) utt.

Piemēram, pieņemsim, ka mēs vēlamies izgūt 10 populārākās filmas no “filmu” tabulas. Mēs varam izmantot klauzulu ORDER BY, lai kārtotu vērtības, pamatojoties uz garumu, un pēc tam ierobežotu pirmās 10 rindas.

Piemērs ir šāds:

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

NO filmas f

PASŪTĪT PĒC garuma DESC

LIMIT 10 ;

Šajā gadījumā mēs izmantojam klauzulu ORDER BY, lai sakārtotu rindas dilstošā secībā (no augstākās līdz zemākajai) un pēc tam izgūtu pirmās 10 rindas, izmantojot LIMIT klauzulu.

Rezultātu komplekts ir šāds:

  Saraksta apraksta tabula, kas automātiski ģenerēta ar vidēju ticamību

Tur jums tas ir!

Secinājums

Šajā ziņojumā mēs uzzinājām pamatprincipus un papildu funkcijas darbam ar LIMIT klauzulu SQL datu bāzēs.