Piliin ang Top 10 Rows sa SQL

Piliin Ang Top 10 Rows Sa Sql



Kapag nagtatrabaho kami sa isang database ng SQL, maaari kaming makatagpo ng mga pagkakataon kung saan kailangan naming kumuha ng partikular na subset ng mga row mula sa isang ibinigay na talahanayan. Nagbibigay-daan ito sa amin na limitahan ang mga mapagkukunang kailangan para makuha ang mga halaga mula sa talahanayan.

Sa kabutihang palad, sa SQL, mayroon kaming access sa LIMIT clause na nagbibigay-daan sa amin na kontrolin ang bilang ng mga row na ibinalik sa loob ng ibinigay na set ng resulta. Ang feature na ito ay lubhang kapaki-pakinabang kapag tayo ay nakikitungo sa isang malaking set ng data at hindi talaga kailangan ang buong row ngunit sa halip ay isang subset nito. Ito ay maaaring alinman sa pagkuha ng layout ng data o pagtatanghal.

Sa tutorial na ito, malalaman natin kung paano natin magagamit at gagana ang LIMIT clause sa mga database ng SQL upang tukuyin ang bilang ng mga row na gusto nating makuha mula sa database.







Mga kinakailangan:

Bago tayo sumisid sa mga gawain at paggamit ng LIMIT clause sa SQL, talakayin natin ang ilang pangunahing kinakailangan para sa tutorial na ito.



Upang masundan ang post na ito, kakailanganin mo ang sumusunod:



  1. Gumagana ang MySQL 8.0 at mas mataas sa MySQL 5
  2. Access sa Sakila sample database
  3. Mga pahintulot na i-query ang mga row mula sa target na database (read access)

Sa ibinigay na mga kinakailangan, maaari tayong magpatuloy sa tutorial na ito.





SQL LIMIT

Sa SQL, ang LIMIT clause ay nagbibigay-daan sa amin na paghigpitan ang bilang ng mga row na ibinalik mula sa isang ibinigay na SQL query. Halimbawa, sa isang piling pahayag, sa halip na ibalik ang lahat ng mga hilera mula sa talahanayan na maaaring naglalaman ng higit sa 1000 mga tala, maaari naming piliing tingnan lamang ang unang 10 mga hilera.

Ipinapakita ng sumusunod ang pangunahing syntax ng LIMIT clause sa SQL:



PUMILI ng col1, col2, ...

MULA tbl_name

LIMIT num_rows;

Sa halimbawang ito, ginagamit namin ang LIMIT clause kasabay ng SELECT statement.

Mula sa ibinigay na syntax, ang 'tbl_name' ay kumakatawan sa pangalan ng talahanayan kung saan nais naming kunin ang data.

Ang 'num_rows' ay nagbibigay-daan sa amin na tukuyin ang maximum na bilang ng mga row na ibinalik sa set ng resulta.

Halimbawa 1: Limitahan ang Bilang ng Mga Row

Ang pinakakaraniwan at pangunahing tungkulin ng LIMIT clause ay ang itakda ang maximum na bilang ng mga row na kasama sa set ng resulta.

Ipagpalagay na gusto naming gamitin ang talahanayan ng 'pelikula' mula sa Sakila sample database. Gayunpaman, dahil hindi namin gustong kunin ang lahat ng nauugnay na row, maaari naming piliin ang unang 10 row gaya ng ipinapakita sa sumusunod na halimbawang sugnay:

PUMILI * MULA sa pelikula

LIMIT 10 ;

Sa sandaling patakbuhin namin ang ibinigay na query, dapat kaming makakuha ng isang output tulad ng sumusunod:

  Awtomatikong nabuo ang isang screenshot ng isang paglalarawan ng computer

Sa halimbawang ito, ginagamit namin ang LIMIT clause upang paghigpitan ang resulta na itinakda sa 10 row. Kinukuha nito ang unang 10 row mula sa resulta.

Halimbawa 2: Paggamit ng OFFSET Value

Sa ilang mga kaso, maaaring gusto naming laktawan o alisin ang isang partikular na bilang ng mga row. Halimbawa, ipagpalagay na nais naming makuha lamang ang limang elemento, ngunit gusto naming magsimula sa posisyon 20. Magagamit namin ang OFFSET parameter na nagpapahintulot sa amin na sabihin ang LIMIT clause kung saang posisyon namin gustong magsimula.

Ito ay partikular na kapaki-pakinabang kapag kailangan mong ipatupad ang pagination sa isang malaking dataset tulad ng ipinapakita sa sumusunod na halimbawa:

PUMILI ng film_id, pamagat, release_year, `length` MULA sa pelikula

LIMIT 10 OFFSET dalawampu ;;

Dapat itong magbalik ng 10 row simula sa posisyon 20 gaya ng sumusunod:

Tulad ng makikita mo mula sa ibinigay na resulta, ang simula ng 'film_id' ay magsisimula sa posisyon 21 at magpapatuloy sa posisyon 30.

Halimbawa 3: Paggamit ng Order BY Clause

Ang isa pang karaniwang paggamit ng LIMIT clause ay kasama ng ORDER BY clause. Nagbibigay-daan ito sa amin na makuha ang partikular na bilang ng mga row na nakabatay sa isang partikular na pagkakasunud-sunod. Maaaring kabilang dito ang pangunahing pag-uuri (pataas o pababa), atbp.

Halimbawa, ipagpalagay na gusto naming kunin ang nangungunang 10 pinakamahabang pelikula mula sa talahanayan ng 'pelikula'. Maaari naming gamitin ang ORDER BY clause para pagbukud-bukurin ang mga value batay sa haba at pagkatapos ay limitahan ang unang 10 row.

Ang isang halimbawa ay ang sumusunod:

PUMILI f.film_id, f.title, f.length

MULA sa pelikula f

ORDER SA haba DESC

LIMIT 10 ;

Sa kasong ito, ginagamit namin ang ORDER BY clause para i-order ang mga row sa pababang pagkakasunud-sunod (pinakamataas hanggang pinakamababa) at pagkatapos ay kunin ang unang 10 row gamit ang LIMIT clause.

Ang set ng resulta ay ang mga sumusunod:

  Awtomatikong nabuo ang isang talahanayan ng isang listahan Paglalarawan na may katamtamang kumpiyansa

Ayan na!

Konklusyon

Sa post na ito, natutunan namin ang mga pangunahing kaalaman at advanced na tampok ng pagtatrabaho sa LIMIT clause sa mga database ng SQL.