PostgreSQL

PostgreSQL NTILE aknafunktsioon

PostgreSQL NTILE aknafunktsioon
Erinevate andmete võrdsustamiseks on PostgreSQL-i aknameetodid välja jäetud ja need on analüütiliste ja muude PostgreSQL-i kasutamise juhtumite jaoks hädavajalikud. Metoodika NTILE (), millele järgneb PostgreSQL-i klausel OVER, jäetakse korraldatud ridade jagamiseks mõnevõrra sarnaseks klassifitseeritud ämbritega. Ämbrid pole midagi muud kui järjestatud rühmade kogum. Selles artiklis leiate, kuidas jaotatud sorditud ridu jaotada reastatud ämbrite antud jooniseks, kasutades funktsiooni PostgreSQL NTILE (). Meetod NTILE () eraldab ämbrinumbri igale grupi algusele rühmast 1, näidates komplekti, millele rida on.

Süntaks:

>> NTILE (ämbrid) ÜLE ([PARTITION partitsiooni avaldise järgi,…] [ORDET BY sort avaldise järgi]) [ASC | DESC],…]);

Esiteks, NTILE-meetodi mõistmiseks logige sisse PostgreSQL-i kestast. Seetõttu proovige rakendustest käivitada PostgreSQL-i käsurea kest. Teises serveris töötamiseks sisestage serveri nimi; muul juhul vajutage sisestusklahvi. Kui peate harjutama varem määratud andmebaasis, e.g., Postgres, seejärel vajutage sisestusklahvi või muul viisil, sisestage andmebaasipealkiri, nt.g. "test". Muu pordi kui 5432 kasutamiseks kirjutage see välja; kui ei, siis jätke see nii nagu see on ja vajutage jätkamiseks Enter. See võib paluda teil sisestada kasutajanime juhul, kui peate vahetama uue kasutajanime. Sisestage kasutajanimi; muul juhul vajutage lihtsalt sisestusklahvi. Lõpuks peate sisestama oma praeguse kasutaja parooli, et vahetada käsurealt, kasutades allpool seda konkreetset kasutajat. Pärast kõigi kohustuslike andmete tõhusat sisestamist võite hakata töötama NTILE-ga.

NTILE-ga töötamise alustamiseks peate looma käsuga CREATE uue tabeli, kui teil seda pole. Mõelge läbi PostgreSQL-i andmebaasis allpool kuvatud tabeli "töötaja", mida nimetatakse testiks. See tabel sisaldab nelja veergu e.g., konkreetse ettevõtte töötaja ID, nimi, vanus ja palk. Igas veerus on kokku 10 rida, mis tähendab 10 kirjet igas veeruväljal.

>> VALI * töötajalt;

Kõigepealt peame mõistma lihtsat kontseptsiooni, kuidas tabelist kirjeid hankida, kasutades klauslit ORDER BY. Oleme käivitanud allpool oleva käsu SELECT, ilma et kasutaksime kontseptsiooni lühiajaliseks väljatöötamiseks ja mõistmiseks NTILE-d. Toome veergude kirjed; nimi, vanus ja palk kirjete sortimisel välja „vanus” kasvavas järjekorras. Näete, et see kuvab lihtsalt pildil esitatud kirjeid.

>> VALI töötaja nimi, vanus, palk TELLI vanuse järgi;

NTILE () ÜLEMINEKU KASUTAMINE koos tellimusega klausliga:

Eeldades, et sama tabel „töötaja“, hakkame oma näites kasutama klauslit NTILE () OVER. Selles näites oleme valinud kaks veergu; nimi ja palk, sorteerides veeru “palk” kasvava järjestusega seotud tulemuse. Tulemus sisaldab andmeid, kus töötaja vanus on üle 24 aasta. Oleme defineerinud NTILE ämbri väärtuseks “3”, kuna soovime jagada read 3 ämbriks, e.g., 1 kuni 3. Näete, et read on edukalt jagatud 3 võrdseks ämbriks, mis sisaldavad igas reas 3 rida.

>> VALI nimi, palk, NIMI (3) ÜLE (TELLI PALGA JÄRGI) Töötaja KUS vanus> '24';

Võtame nüüd sama tabeli “töötaja” kasutamise ajal veel ühe näite. Seekord tahame tuua kolme veeru kirjed; nimi, vanus ja palk, kasutades käsureal olevat päringut SELECT. WHERE klauslis on väikseid muudatusi. Praegu oleme otsinud tabeli "töötaja" andmeid, kui vanus on alla 27 aasta, mis saab ainult need andmed, mille vanus on alla 27 aasta. Teisest küljest ei muutu ämber väärtus, kuna see on jälle 3. Nimetatud käsu proovimisel oleme leidnud ainult kolm kirjet, mis on võrdselt jagatud 3 ämbrisse, nagu pildil näidatud.

>> VALIGE töötaja nimi, vanus, palk, TASUTA (3) ÜLE (TELLI PALGA JÄRGI) < '27';

NTILE () ÜLEMINEKU kasutamine koos TELLIMISE JA JAGAMISEGA klausliga:

Olgu meil näiteks NTILE () OVER, kui kasutate samaaegselt klausleid PARTITION BY ja ORDER BY. Oletame, et kasutatakse muutmata tabelit „töötaja“ andmebaasi „testist“. Selles näites peate valima kolm veergu; nimi, vanus ja palk, sortides kasvavalt välja „vanus”. Pealegi oleme veerus “palk” kasutanud klauslit PARTITION BY, et teha selle veeru tabeli partitsioonid. Selles päringus pole kasutatud konkreetset tingimust, mis tähendab, et kuvatakse kõik tabeli "töötaja" kirjed. NTILE ämbri väärtus on „3”. Allpool toodud päringu täitmisel näete allpool toodud tulemust. Jaotused tehakse vastavalt veeru “palk” erinevatele väärtustele. Kõik veeru “palk” väärtused on erinevad, seetõttu asuvad need erinevates partitsioonides, välja arvatud väärtus “60000”. See tähendab, et igal sektsioonil on üks väärtus, välja arvatud üks. Pärast seda said kõik sektsiooniread järjestatud ämbrite kaudu. Ainult üks ämber sai 2. järgu.

>> VALI töötaja nimi, vanus, palk, NIMI (3) ÜLE (JAGU palga järgi, TELLIMINE vanuse järgi);

Kasutades sama näidet NTILE () OVER, kasutades klauslit PARTITION BY ja ORDER BY koos klausliga WHERE. Klauslis WHERE oleme määratlenud tingimuse, mis ütleb, et ainsad hangitavad kirjed on need, kus töötaja vanus on alla 27 aasta. Saime ainult 3 tulemust, millel oli 2 jaotust vastavalt vanusele ja astejärgne veerg “ntile”.

>> VALI nimi, vanus, palk, NIMI (3) ÜLE (JAGU palga järgi, TELLIMINE vanuse järgi) töötajalt, kus vanus < '27';

Järeldus:

Selles juhendis oleme arutanud ntiilifunktsioonide erinevaid näiteid. Saate neid rakendada vastavalt vajadusele.

Viis parimat ergonoomilist arvutihiiretoodet Linuxile
Kas pikaajaline arvuti kasutamine põhjustab valu randmes või sõrmedes?? Kas teil on liigeste jäikus ja peate pidevalt käsi suruma? Kas tunnete põletav...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
X-Mouse Button Control abil saate hiire nupud erinevates tarkvarades erinevalt ümber teha
Võib-olla vajate tööriista, mis võiks muuta teie hiire juhtimissüsteemi iga kasutatava rakendusega. Sel juhul võite proovida rakendust nimega X hiiren...