MySQL MariaDB

MySQL RANK -ikkunatoiminto

MySQL RANK -ikkunatoiminto
Sijoitusmenetelmä jakaa sarjan kullekin riville sarjan tuloksen osiossa. Rivin sijoitus määritetään lisäämällä yhtä rivejä sitä edeltävältä riviltä. MySQL käyttää sijoitusominaisuutta, joka auttaa yhtä sijoitusta riviä kohden kaavaosiossa. MySQL: ssä luokitusmenetelmät ovat todellakin osa ikkunamenetelmää. Käytät luokitusmenetelmiä MySQL: ssä joko seuraavien lausekkeiden kanssa:

Sijoitustoimintoja on yhteensä kolmenlaisia, seuraavasti:

MySQL RANK ():

Tämä on menetelmä, joka antaa sijoituksen osion tai tulosryhmän sisällä kanssa aukkoja per rivi. Aikajärjestyksessä rivien sijoitusta ei jaeta koko ajan (i.e., kasvanut yhdellä edellisestä rivistä). Vaikka sinulla on tasapeli usean arvon välillä, rank () -apuohjelma soveltaa siihen samaa luokitusta. Myös sen aiempi sijoitus plus toistuvien numeroiden luku voi olla seuraava sijoitusnumero.

Ymmärtääksesi sijoituksen, avaa komentorivin asiakaskuori ja kirjoita MySQL-salasanasi aloittaaksesi sen käytön.

Oletetaan, että meillä on alla oleva taulukko nimeltä "sama" tietokannassa "data", jossa on joitain tietueita.

>> VALITSE * FROM-tiedoista.sama;

Esimerkki 01: Yksinkertainen RANK ()

Alla olemme käyttäneet Rank-toimintoa SELECT-komennossa. Tämä kysely valitsee sarakkeen id taulukosta "sama" samalla kun se luokitellaan sarakkeen "id" mukaan. Kuten näette, olemme antaneet ranking-sarakkeelle nimen, joka on "my_rank". Sijoitus tallennetaan nyt tähän sarakkeeseen alla olevan kuvan mukaisesti.

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

Esimerkki 02: RANK () käyttäen PARTITION

Oletetaan toinen taulukko "työntekijä" tietokannassa "data", jolla on seuraavat tietueet. Olkaamme toinen instanssi, joka jakaa tulosjoukon segmentteihin.

>> VALITSE * FROM-tiedoista.työntekijä;

RANK () -menetelmän käyttämiseksi seuraava käsky antaa sijoituksen jokaiselle riville ja jakaa tulosjoukon osioihin käyttämällä "Ikä" ja lajittelemalla ne "Palkan" mukaan. Tämä kysely on hakenut kaikkia tietueita, kun se sijoittuu sarakkeeseen "new_rank". Näet tämän kyselyn lähdön alla. Se on lajitellut taulukon palkan mukaan ja jakanut sen iän mukaan.

>> VALITSE *, SIJOITUS () YLITTÄVÄ (JAKAUMA IkäJÄRJESTYS PALKAN PITUUDELLA) new_rank FROM data.työntekijä;

MySQL DENSE_Rank ():

Tämä on toiminto missä, ilman reikiä, määrittää sijoituksen kutakin riviä kohti jako- tai tulosjoukossa. Rivien sijoitus jaetaan useimmiten peräkkäisessä järjestyksessä. Toisinaan sinulla on tasa-arvo arvojen välillä, ja siksi se on määritetty tarkalle sijalle tiheän sijoituksen perusteella, ja sen seuraava sijoitus on seuraava seuraava numero.

Esimerkki 01: Yksinkertainen DENSE_RANK ()

Oletetaan, että meillä on taulukko "työntekijä", ja sinun on järjestettävä taulukon sarakkeet, "Nimi" ja "Palkka" sarakkeen "Nimi" mukaan. Olemme luoneet uuden sarakkeen "dens_Rank" tallentaaksesi siihen tietueiden luokituksen. Alla olevan kyselyn suorittamisen jälkeen meillä on seuraavat tulokset, joiden sijoitus eroaa kaikista arvoista.

>> VALITSE Nimi, Palkka, DENSE_RANK () OVER (ORDER BY Name) dens_rank FROM data.työntekijä;

Esimerkki 02: DENSE_RANK () käyttäen PARTITION

Katsotaanpa toinen esimerkki, joka jakaa tulosjoukon segmentteihin. Alla olevan syntaksin mukaan FROM-käsky palauttaa tuloksena olevan osion, joka on jaettu PARTITION BY-lauseella, ja DENSE_RANK () -menetelmä smearoidaan sitten kullekin osalle käyttämällä saraketta "Name". Sitten kullekin segmentille ORDER BY -lause smear määrittää rivien välttämättömyys sarakkeella "Age".

>> VALITSE Nimi, Ikä, Palkka, DENSE_RANK () YLITTY (OSIO NIMEN JÄRJESTYS JÄLLEEN Ikä) new_rANK FROM tiedoista.työntekijä;

Yllä olevan kyselyn suorittamisen jälkeen näet, että meillä on hyvin erilainen tulos verrattuna edellisen esimerkin Single dense_rank () -menetelmään. Meillä on sama toistuva arvo jokaiselle riviarvolle, kuten alla näkyy. Se on sijoitusarvo.

MySQL PERCENT_RANK ():

Se on todellakin prosenttiosuusmenetelmä (vertaileva sijoitus), joka laskee rivit osion tai tuloskokoelman sisällä. Tämä menetelmä palauttaa luettelon joko arvoluokasta nolla - 1.

Esimerkki 01: Yksinkertainen PERCENT_RANK ()

Käyttämällä taulukkoa "työntekijä" olemme tarkastelleet yksinkertaisen PERCENT_RANK () -menetelmän esimerkkiä. Meillä on alla annettu kysely tälle. Per_rank -sarake on luotu PERCENT_Rank () -menetelmällä asetetun tuloksen sijoittamiseksi prosenttilomakkeeseen. Olemme hakeneet tietoja sarakkeen "Ikä" lajittelujärjestyksen mukaan ja sitten olemme järjestäneet arvot tästä taulukosta. Tämän esimerkin kyselytulos antoi meille prosentuaalisen sijoituksen arvoille alla olevan kuvan mukaisesti.

>> SELECT *, PERCENT_RANK () OVER (ORDER BY Age) per_rank FROM data.työntekijä;

Esimerkki 02: PERCENT_RANK () käyttäen PARTITION

Kun olet tehnyt yksinkertaisen esimerkin PERCENT_RANK (), nyt on vuoro "PARTITION BY" -lausekkeelle. Olemme käyttäneet samaa taulukkoa "työntekijä". Otetaan toinen vilkaisu toisesta instanssista, joka jakaa tulosjoukon osiin. Alla olevasta syntaksista johtuen tuloksena oleva osio BYIT-lausekkeella korvataan FROM-ilmoituksella, ja PERCENT_RANK () -menetelmää käytetään sitten luokittelemaan kukin rivijärjestys sarakkeella "Nimi". Alla olevassa kuvassa näet, että tulosjoukko sisältää vain 0 ja 1 arvot.

>> VALITSE *, PERCENT_RANK () YLITTÄVÄ (OSAKE palkkatilausnimen mukaan nimen mukaan).työntekijä;

Päätelmä:

Lopuksi olemme tehneet kaikki kolme luokitustoimintoa MySQL: ssä käytetyille riveille MySQL-komentorivin asiakaskuoren kautta. Lisäksi olemme ottaneet tutkimuksessamme huomioon sekä yksinkertaisen että PARTITION BY -lausekkeen.

HD Remastered Games for Linux that Never had a Linux Release Earlier
Many game developers and publishers are coming up with HD remaster of old games to extend the life of franchise, please fans requesting compatibility ...
Kuinka käyttää AutoKey-toimintoa Linux-pelien automatisointiin
AutoKey on työpöydän automaatioapuohjelma Linuxille ja X11: lle, ohjelmoitu Python 3, GTK ja Qt. Komentosarjojen ja MACRO-toimintojen avulla voit auto...
Kuinka näyttää FPS-laskuri Linux-peleissä
Linux-pelaaminen sai suuren työn, kun Valve ilmoitti Linux-tuesta Steam-asiakkaalle ja heidän peleilleen vuonna 2012. Siitä lähtien monet AAA- ja indi...