- Ang sugnay na Over () ay gagamitin sa loob nito.
- Ang mga ORDERS BY clause ayusin ang resulta ayon sa pag-uuri ng pagkakasunud-sunod ng nabanggit na haligi.
Syntax:
>> PUMILI col_name,ROW_NUMBER()TAPOS( HAHIRAP NG col_name, INIUTOS NI col_name) AS row_num MULA SA table_name;Buksan natin ang MySQL command-line client shell mula sa mga application at i-type ang password upang mag-log in.
Kailangan mong lumikha ng isang bagong talahanayan o gamitin ang default na talahanayan upang simulang magtrabaho sa pagpapaandar ng numero ng hilera. Tulad ng ipinakita sa imaheng nasa ibaba, mayroon kaming mga hayop na talahanayan sa data ng iskema na may ilang mga tala dito. Kunin natin ang mga tala nito gamit ang SELECT na tagubilin.
>> PUMILI * MULA SA data .animals;
Halimbawa 01: ROW_NUMBER () Paggamit ng ORDER BY Clause
Gagamitin namin ang parehong talahanayan upang idetalye ang ilang mga halimbawa ng pagpapaandar ng numero ng hilera. Kumukuha kami ng isang halimbawa ng pagpapaandar na ROW_NUMBER () na sinusundan ng Over (), habang ginagamit lamang ang sugnay na ORDER BY. Kinukuha namin ang lahat ng mga tala habang binubilang ang mga hilera ayon sa hanay ng Presyo ng haligi. Ibinigay namin ang pangalan na row_num sa isang haligi, na mag-iimbak ng mga numero ng hilera. Subukan natin ang utos sa ibaba upang gawin ito.
>> PUMILI *,ROW_NUMBER()TAPOS( INIUTOS NI Presyo) AS row_num MULA SA data .animals;Sa pagpapatupad ng query sa itaas, maaari naming makita na ang mga hilera ay naitalaga sa mga numero ayon sa pagkakasunud-sunod ng pagkakasunod-sunod ng haligi ng Presyo. Maaari mong isipin na ang ilang mga mas maliit na presyo ay dapat na nasa tuktok ng haligi at dapat itong ayusin ayon sa na. Ngunit nakikita lamang ng sugnay na ORDER BY ang unang digit o alpabeto ng haligi upang mag-uri-uriin ang mga halaga.
Isagawa natin ang parehong query na sinusundan ng sugnay na ORDER BY habang ginagamit ang pagkakasunud-sunod ng pagkakasunud-sunod ng hanay ng Edad. Ibibigay ang output ayon sa Edad ng haligi.
>> PUMILI *,ROW_NUMBER()TAPOS( INIUTOS NI Edad) AS row_num MULA SA data .animals;
Halimbawa 02: ROW_NUMBER () Paggamit ng PAGHAHIRAP NG sugnay
Gagamitin namin ang nag-iisang sugnay na BAHAGI NG patungkol sa ROW_NUMBER () na query upang suriin ang mga resulta. Ginagamit namin ang SELECT query upang makuha ang mga talaan na sinusundan ng ROW_NUMBER () at OVER na sugnay, habang binabahagi ang talahanayan ayon sa Kulay ng haligi. Isagawa ang nakadugtong na utos sa ibaba sa command shell.
>> PUMILI *,ROW_NUMBER()TAPOS( HAHIRAP NG Kulay) AS row_num MULA SA data .animals;Maaari mong makita sa resulta na ang bilang ng mga hilera ay naitalaga sa mga pagkahati, ayon sa pagkakasunod-sunod ng mga kulay. Tulad ng mayroon kaming 4 na halaga para sa kulay Itim na tumatagal ng 4 na hilera. Iyon ang dahilan kung bakit nakakuha ito ng mga numero ng apat na hilera na nagsisimula sa 1 hanggang 4 at kabaliktaran.
Subukan ang parehong halimbawa, na hinati ng haligi ng Kasarian sa oras na ito. Tulad ng alam natin, mayroon lamang kaming dalawang kasarian sa talahanayan na ito, kaya't nabubuo ang 2 mga partisyon. Ang mga babae ay sumasakop ng 9 na hilera, iyon ang dahilan kung bakit mayroon itong row na may bilang mula 1 hanggang 9. Habang ang mga lalaki ay may 8 halaga, iyon ang dahilan kung bakit mayroon itong 1 hanggang 8.
>> PUMILI *,ROW_NUMBER()TAPOS( HAHIRAP NG KASAYSAYAN) AS row_num MULA SA data .animals;
Halimbawa 03: ROW_NUMBER () Paggamit ng PAGHAHIRAP NG & NG order NG BY
Natapos namin ang dalawang halimbawa sa itaas sa linya ng utos ng MySQL, oras na upang gawin ang halimbawa ng ROW_NUMBER () sa MySQL Workbench 8.0. Kaya, buksan ang MySQL Workbench 8.0 mula sa mga application. Ikonekta ang MySQL Workbench sa lokal na root root database upang magsimulang magtrabaho.
Sa kaliwang bahagi ng MySQL Workbench, mahahanap mo ang Schema bar, pumutok ang navigator. Sa bar ng Schema na ito, mahahanap mo ang listahan ng mga database. Sa ilalim ng listahan ng mga database, magkakaroon ka ng iba't ibang mga talahanayan at nakaimbak na mga pamamaraan, tulad ng nakikita mo sa imahe sa ibaba. Mayroon kaming iba't ibang mga talahanayan sa aming 'data' ng database. Bubuksan namin ang talahanayan na 'order1' gamit ang SELECT command sa lugar ng query upang simulang gamitin ito para sa pagpapatupad ng pagpapaandar na ROW_NUMBER ().
>> PUMILI * MULA SA data .order1;
Ang order ng talahanayan1 ay ipinakita sa view ng grid tulad ng ipinakita sa ibaba. Maaari mong makita na mayroon itong 4 na mga patlang ng haligi, id, Rehiyon, Katayuan, at OrderNo. Dadalhin namin ang lahat ng mga tala ng talahanayan na ito habang ginagamit ang sugnay na ORDER BY at PARTISION BY, pareho nang sabay.
Sa lugar ng query ng MySQL Workbench 8.0, i-type ang ipinakitang query sa ibaba. Sinimulan ang query sa SELECT sugnay, kinukuha ang lahat ng mga tala na sinusundan ng pagpapaandar ng ROW_NUMBER () kasama ang OVER na sugnay. Matapos ang MAHIGANG sugnay, tinukoy namin ang haligi ng Katayuan na nagpatuloy ng pahayag na PAHIHIWALA upang hatiin ang talahanayan sa mga pagkahati ayon sa talahanayan na ito. Ang sugnay na ORDER BY ay ginamit upang ayusin ang talahanayan sa pababang paraan ayon sa haligi ng Rehiyon. Ang mga numero ng hilera ay itatago sa row_num na haligi. Mag-tap sa icon ng flash upang maisagawa ang utos na ito.
Ipapakita ang resulta na ipinakita sa ibaba. Una sa lahat, ang talahanayan ay pinaghiwalay sa dalawang bahagi ayon sa mga halaga ng Katayuan ng haligi. Pagkatapos nito, ipinakita ito sa pababang pagkakasunud-sunod ng haligi na 'Rehiyon' at ang mga partisyon ay itinalaga ng mga numero ng hilera.
Konklusyon:
Sa wakas, nakumpleto na namin ang lahat ng kinakailangang mga halimbawa sa paggamit ng pag-andar ng ROW_NUMBER () sa MySQL Workbench at MySQL Command-line Client Shell.