MySQL MariaDB

MySQL RANK akna funktsioon

MySQL RANK akna funktsioon
Edetabelimeetod määrab igale reale auastme hulga tulemuse partitsiooni sees. Rea auaste määratakse, suurendades ühte aste reale sellele eelnevast reast. MySQL kasutab edetabelifunktsiooni, mis aitab skeemi sektsioonis ühte järjestust rea kohta. MySQL-is on reitingumeetodid tõepoolest akna meetodi poolikud. Kasutate MySQL-is reitingumeetodeid koos järgmiste klauslitega:

Kokku on kolme tüüpi järjestamisfunktsioonid järgmised:

MySQL RANK ():

See on meetod, mis annab auastme partitsiooni või tulemuste massiivi sees koos lüngad rea kohta. Kronoloogiliselt ei eraldata ridade järjestust kogu aeg (st.e., suurendati eelmise rea võrra ühe võrra). Isegi kui teil on mitme väärtuse vahel võrdne arv, rakendab utiliit () kasulikkust sellel samal positsioonil. Samuti võib selle eelnev auaste pluss korduvate arvude arv olla järgmine auastme number.

Järjestuse mõistmiseks avage käsurea kliendi kest ja sisestage selle kasutamiseks MySQL-i parool.

Oletame, et meil on andmebaasis „andmed” allpool tabel nimega „sama”, koos mõningate kirjetega.

>> SELECT * FROM andmetest.sama;

Näide 01: Lihtne RANK ()

Allpool oleme kasutanud käsu SELECT funktsiooni Rank. See päring valib tabelist „sama” veeru „id”, reastades selle veeru „id” järgi. Nagu näete, oleme andnud pingerida veerule nime, mis on „minu_rank“. Edetabel salvestatakse nüüd sellesse veergu, nagu allpool näidatud.

>> SELECT id, RANK () OVER (ORDER BY id) my_rank FATA.sama;

Näide 02: RANG (), kasutades partitsiooni

Oletame, et andmebaasis „andmed” on järgmine tabel „töötaja”, millel on järgmised kirjed. Olgu meil veel üks eksemplar, mis jagab tulemuste kogumi segmentideks.

>> SELECT * FROM andmetest.töötaja;

RANK () meetodi kasutamiseks määrab järgnev käsk igale reale auastme ja jagab seatud tulemuse jaotisteks, kasutades vanust ja sortides need vastavalt palgale. See päring tõmbas veerus “new_rank” järjestamise ajal kõiki kirjeid. Selle päringu väljundit näete allpool. See on sorteerinud tabeli palga järgi ja jaganud vanuse järgi.

>> VALI *, HINNE () ÜLE (JAGU vanuse järgi TELLI PALGA JÄRGI) uus_rühm andmetest.töötaja;

MySQL DENSE_Rank ():

See on funktsioon, kus, ilma aukudeta, määrab jaotuse või tulemuste komplekti iga rea ​​kohta auastme. Ridade järjestus jaotatakse kõige sagedamini järjestuses. Vahel on teil väärtuste vahel seos ja seetõttu määratakse see tiheda auastme järgi täpsele astmele ning selle järgnev auaste on järgmine järgmine number.

Näide 01: lihtne DENSE_RANK ()

Oletame, et meil on tabel “töötaja” ja peate tabeli veerud “Nimi” ja “Palk” järjestama veeru “Nimi” järgi. Oleme loonud uue veeru “dens_Rank”, kuhu salvestada kirjete hinnang. Alloleva päringu täitmisel on meil järgmised tulemused, millel on kõigil väärtustel erinev järjestus.

>> VALI Nimi, palk, DENSE_RANK () ÜLE (ORDER BY Name) dens_rank FROM andmetest.töötaja;

Näide 02: DENSE_RANK () kasutades partitsiooni

Vaatame veel ühte eksemplari, mis jaotab määratud tulemuse segmentideks. Vastavalt allpool olevale süntaksile tagastatakse saadud partitsioon fraasiga PARTITION BY jagatuna lausega FROM ja meetod DENSE_RANK () määratakse seejärel igale sektsioonile, kasutades veergu "Name". Seejärel määrdub fraas ORDER BY iga segmendi kohta, et määrata veergu „Vanus” ridade imperatiiv.

>> VALI Nimi, vanus, palk, DENSE_RANK () ÜLES (JAGUNE NIMI JÄRJEKORRASTUS Vanuse järgi).töötaja;

Ülaltoodud päringu täitmisel näete, et meil on väga selge tulemus, võrreldes ülaltoodud näite meetodiga Single dense_rank (). Meil on iga rea ​​väärtuse jaoks sama korduv väärtus, nagu näete allpool. See on auaste väärtuste seos.

MySQL PERCENT_RANK ():

See on tõepoolest protsentuaalse (võrdleva asetuse) meetod, mis arvutab partitsiooni või tulemuste kogu sees olevad read. See meetod tagastab loendi väärtuste skaalalt null kuni 1.

Näide 01: lihtne PERCENT_RANK ()

Kasutades tabelit “töötaja”, oleme vaadanud lihtsa PERCENT_RANK () meetodi näidet. Selle kohta on meil allpool toodud päring. Veerg Per_rank on loodud meetodiga PERCENT_Rank (), et järjestada protsentide kujul määratud tulemus. Oleme hankinud andmeid veeru „Vanus” sortimisjärjestuse järgi ja seejärel järjestanud selle tabeli väärtused. Selle näite päringutulemus andis meile väärtuste protsentuaalse järjestuse, nagu on näidatud alloleval pildil.

>> SELECT *, PERCENT_RANK () OVER (ORDER BY Age) per_rank FROM andmed.töötaja;

Näide 02: PERCENT_RANK () kasutades partitsiooni

Pärast lihtsa näite PERCENT_RANK () tegemist on nüüd kord klausli „PARTITION BY” kord. Oleme kasutanud sama tabelit “töötaja”. Teeme veel ühe pilgu ühest teisest eksemplarist, mis jagab tulemuste komplekti osadeks. Allpool toodud süntaksist lähtudes kompenseeritakse avaldise PARTITION BY abil saadud eraldatud seina deklaratsiooniga FROM, samuti kasutatakse meetodit PERCENT_RANK () iga rea ​​järjestuse järjestamiseks veeru „Name” järgi. Alloleval pildil näete, et tulemuste komplekt sisaldab ainult 0 ja 1 väärtust.

>> VALI *, PERCENT_RANK () ÜLE (JAGU PALGU JÄRGI NIME JÄRGI) Per_rank FROM andmetest.töötaja;

Järeldus:

Lõpuks oleme teinud kõik kolm MySQL-is kasutatavate ridade järjestusfunktsiooni MySQL-i käsurea kliendikesta kaudu. Samuti oleme oma uuringus arvestanud nii lihtsa kui ka PARTITION BY-klausliga.

Jäljendage hiireklikke, hõljutades hiirega klõpsutut hiirt Windows 10-s
Hiire või klaviatuuri kasutamine liigses kasutamises vales asendis võib põhjustada palju terviseprobleeme, sealhulgas tüve, karpaalkanali sündroom ja ...
Nende tasuta tööriistade abil lisage Windows 10-le hiire liigutused
Viimastel aastatel on arvutid ja operatsioonisüsteemid palju arenenud. Oli aeg, mil kasutajad pidid failihaldurites navigeerimiseks kasutama käske. Na...
Juhtige ja hallake hiire liikumist mitme kuvari vahel Windows 10-s
Dual Display Mouse Manager võimaldab teil kontrollida ja konfigureerida hiire liikumist mitme monitori vahel, aeglustades selle liikumist piiri läheda...