MySQL MariaDB

Funkcija prozora MySQL RANK

Funkcija prozora MySQL RANK
Metoda rangiranja dodjeljuje rang unutar particije ishoda skupa svakom retku. Poredak reda određuje se povećavanjem jedne figure ranga iz reda koji mu prethodi. MySQL koristi značajku rangiranja koja pomaže jedan rang po redu u particiji sheme. U MySQL-u su metode ocjenjivanja doista dio sustava prozora. U MySQL-u ćete koristiti metode ocjenjivanja s bilo kojom od sljedećih klauzula:

Ukupno postoje tri vrste funkcija rangiranja, kako slijedi:

MySQL RANG ():

Ovo je metoda koja daje rang unutar particije ili niza ishoda s praznine po redu. Kronološki gledano, poredak redova nije cijelo vrijeme dodijeljen (tj.e., uvećano za jedan iz prethodnog retka). Čak i kada imate nejednaku vrijednost između nekoliko vrijednosti, u tom trenutku uslužni program rank () na nju primjenjuje isti rang. Također, njegov raniji rang plus broj ponovljenih brojeva može biti sljedeći rang broj.

Da biste razumjeli rangiranje, otvorite ljusku klijentskog retka naredbenog retka i upišite svoju MySQL lozinku da biste je počeli koristiti.

Pretpostavimo da imamo donju tablicu pod nazivom „isto“ unutar baze podataka „podaci“, s nekim zapisima.

>> ODABERI * IZ podataka.isti;

Primjer 01: Jednostavni RANK ()

U nastavku koristimo funkciju Rank u naredbi SELECT. Ovaj upit odabire stupac "id" iz tablice "isto", dok ga rangira prema stupcu "id". Kao što vidite, dali smo naziv stupcu za rangiranje, koji je "my_rank". Poredak će biti pohranjen u ovom stupcu, kao što je prikazano u nastavku.

>> ODABERI id, RANK () NAD (NARUČI po id) my_rank IZ fata.isti;

Primjer 02: RANG () Korištenjem PARTITION

Pretpostavimo drugu tablicu "zaposlenik" u bazi podataka "podaci" sa sljedećim zapisima. Dopustite nam još jedan primjer koji skup rezultata dijeli na segmente.

>> ODABERI * IZ podataka.zaposlenik;

Da bi se konzumirala metoda RANK (), sljedeća uputa dodjeljuje rang svakom retku i dijeli skup ishoda na particije koristeći "Age" i sortirajući ih ovisno o "Plaći". Ovaj upit dohvaća sve zapise dok se rangira u stupcu "novo_pranje". Rezultat ovog upita možete vidjeti u nastavku. Stol je sortirao prema "Plaći" i podijelio prema "Dobu".

>> ODABERI *, RANG () PREKO (PODJELA PO STAROSTI REDOSLIJED PO PLATI) new_rank IZ podataka.zaposlenik;

MySQL DENSE_Rank ():

Ovo je funkcionalnost gdje, bez ikakvih rupa, određuje rang po svakom retku unutar podjele ili skupa rezultata. Poredak redaka najčešće se dodjeljuje redoslijedom. Ponekad imate vezu između vrijednosti, pa ga stoga gusti rang dodjeljuje točnom rangu, a njegov sljedeći rang je sljedeći sljedeći broj.

Primjer 01: Jednostavni DENSE_RANK ()

Pretpostavimo da imamo tablicu "zaposlenik", a vi morate poredati stupce tablice, "Ime" i "Plaća" prema stupcu "Ime". Stvorili smo novi stupac "dens_Rank" za pohranu ocjene zapisa u njemu. Nakon izvršavanja donjeg upita, imamo sljedeće rezultate s različitim rangiranjem prema svim vrijednostima.

>> ODABIRI naziv, plaću, DENSE_RANK () NAD (NARUČI PO imenu) dens_rank IZ podataka.zaposlenik;

Primjer 02: DENSE_RANK () Korištenjem PARTITION

Pogledajmo još jedan primjer koji skup ishoda dijeli na segmente. Prema sintaksi dolje, rezultirajući skup podijeljen izrazom PARTITION BY vraća se izrazom FROM, a metoda DENSE_RANK () se zatim razmazuje u svaki odjeljak pomoću stupca "Ime". Zatim, za svaki segment, fraza ORDER BY razmazuje kako bi se odredio imperativ redaka pomoću stupca "Dob".

>> ODABIRI Ime, Starost, Plaća, DENSE_RANK () NAD (PODJELA PO IMENU REDOSLIJED PO STAROSTI) new_rank IZ podataka.zaposlenik;

Nakon izvršavanja gornjeg upita, možete vidjeti da imamo vrlo različit rezultat u usporedbi s metodom Single thick_rank () u gornjem primjeru. Dobili smo istu ponovljenu vrijednost za svaku vrijednost retka, kao što možete vidjeti dolje. To je veza ranga vrijednosti.

MySQL PERCENT_RANK ():

To je doista metoda postotnog rangiranja (usporednog ranga) koja izračunava retke unutar particije ili zbirke ishoda. Ova metoda vraća popis s bilo skale vrijednosti od nule do 1.

Primjer 01: Jednostavni PERCENT_RANK ()

Koristeći tablicu "zaposlenik", gledali smo primjer jednostavne metode PERCENT_RANK (). Za to imamo donji upit. Stupac per_rank generiran je metodom PERCENT_Rank () za rangiranje rezultata postavljenih u obliku postotka. Dohvaćali smo podatke prema redoslijedu sortiranja stupca "Dob", a zatim smo poredali vrijednosti iz ove tablice. Rezultat upita za ovaj primjer dao nam je postotni poredak za vrijednosti kao što je prikazano na donjoj slici.

>> ODABERI *, PERCENT_RANK () PREKO (REDOSLIJED PO dobi) per_rank IZ podataka.zaposlenik;

Primjer 02: PERCENT_RANK () Korištenjem PARTITION

Nakon jednostavnog primjera PERCENT_RANK (), sada je red na klauzulu "PARTITION BY". Koristimo istu tablicu "zaposlenik". Pogledajmo još jedan primjer koji skup rezultata dijeli na odjeljke. S obzirom na sintaksu u nastavku, rezultirajući skup zida izrazom PARTITION BY nadoknađuje se izjavom FROM, kao i metoda PERCENT_RANK () koja se zatim koristi za rangiranje svakog reda reda po stupcu "Ime". Na slici prikazanoj dolje možete vidjeti da skup rezultata sadrži samo 0 i 1 vrijednosti.

>> ODABERI *, PERCENT_RANK () PREKO (PODJELA PO REDU PLAĆE PO NAZIVU) per_rank IZ podataka.zaposlenik;

Zaključak:

Napokon, izvršili smo sve tri funkcije rangiranja za retke koji se koriste u MySQL-u, putem klijentske ljuske MySQL naredbenog retka. Također, u našoj smo studiji uzeli u obzir i jednostavnu i klauzulu PARTITION BY.

Kako obrnuti smjer pomicanja miša i dodirnih pločica u sustavu Windows 10
Miš i Dodirna pločaRačunarstvo ne samo da olakšava, već i učinkovitije i oduzima puno vremena. Ne možemo zamisliti život bez ovih uređaja, ali činjeni...
Kako promijeniti pokazivač miša i veličinu, boju i shemu pokazivača na sustavu Windows 10
Pokazivač i pokazivač miša u sustavu Windows 10 vrlo su važni aspekti operativnog sustava. To se može reći i za druge operativne sustave, tako da u is...
Besplatni i otvoreni kodni pokretački programi za razvoj Linux igara
Ovaj će članak pokriti popis besplatnih i open source pokretačkih igara koje se mogu koristiti za razvoj 2D i 3D igara na Linuxu. Brojni su takvi moto...