PostgreSQL

PostgreSQL NTILE ablakfunkció

PostgreSQL NTILE ablakfunkció
A PostgreSQL ablakmódszerei elválasztásra kerültek az eltérõ adatok egyenlõségére, és elengedhetetlenek az analitikai és más PostgreSQL használati esetekben. Az NTILE () metódust, amelyet az OVER záradék követ a PostgreSQL-ben, elvetjük, hogy a rendezett sorokat némileg hasonló osztályozott vödrök sorozatába ossza fel. A vödrök nem mások, mint rangsorolt ​​csoportok. Ebben a cikkben megtudhatja, hogyan lehet felosztani a rendezett sorokat a partícióban a rangsorolt ​​vödrök adott alakjára a PostgreSQL NTILE () szolgáltatás segítségével. Az NTILE () metódus csoportot rendel minden halmaz 1-től kezdődő csoportjához, bemutatva azt a halmazt, amelynek a sor a helye.

Szintaxis:

>> NTILE (vödrök) OVER ([PARTITION BY partition kifejezés,…] [ORDET BY sort kifejezés]) [ASC | DESC],…]);

Először is, hogy megértse az NTILE metódust, jelentkezzen be a PostgreSQL héjból. Ezért próbálja meg elindítani a PostgreSQL parancssori héjat az alkalmazásokból. Ha másik kiszolgálón szeretne dolgozni, írja be a kiszolgáló nevét; ellenkező esetben nyomja meg az Enter billentyűt. Ha a korábban kijelölt adatbázisban kell gyakorolnia, pl.g., Postgres, majd nyomja meg az Enter billentyűt, vagy pedig írja be az adatbank címét, pl.g. 'teszt'. Az 5432-től eltérő port használatához írja be azt; ha nem, hagyja úgy, ahogy van, és nyomja meg az Enter billentyűt a folytatáshoz. Felkérheti a felhasználónév megadására, ha új felhasználónévre kell váltania. Írja be a felhasználónevet; másként csak nyomja meg az Enter billentyűt. Végül be kell írnia a jelenlegi felhasználói jelszavát, hogy váltson a parancssor használatával, az adott felhasználót használva alatta. Ezt követően az összes kötelező adat hatékony bevitele után elkezdheti az NTILE-t.

Az NTILE használatának megkezdéséhez létre kell hoznia egy új táblázatot a CREATE paranccsal, ha még nincs ilyen. Gondold végig a PostgreSQL adatbázis „tesztként” megnevezett „alkalmazott” tábláját. Ez a táblázat négy oszlopot tartalmaz e.g., egy adott vállalat alkalmazottjának azonosítója, neve, kora és fizetése. Minden oszlopnak összesen 10 sora van, ami minden oszlopmezőben 10 rekordot jelent.

>> SELECT * FROM alkalmazott;

Először meg kell értenünk a rekordok táblázatból való lekérésének egyszerű fogalmát az ORDER BY záradék segítségével. Az alábbi SELECT parancsot úgy hajtottuk végre, hogy az NTILE-t nem használtuk a koncepció rövid kidolgozásához és megértéséhez. Oszlopok rekordjait lekérjük; név, életkor és fizetés, miközben a rekordokat a „kor” mező növekvő sorrendjében rendezi. Láthatja, hogy pusztán a képen bemutatott rekordokat jeleníti meg.

>> KIVÁLASZTJA a nevét, életkorát, fizetését a munkavállalóból RENDELÉS kor szerint;

Az NTILE () feletti használata RENDELÉSBEN Kötelezettel:

Feltételezve, hogy ugyanazt a táblázatot alkalmazzuk, kezdjük el használni az NTILE () OVER záradékot a példánkban. Ebben a példában kiválasztottuk a két oszlopot; név és fizetés, a „fizetés” oszlop növekvő sorrendjéhez kapcsolódó eredmény rendezése közben. Az eredmény olyan adatokat tartalmaz, amelyekben a munkavállaló életkora meghaladja a 24 évet. Az NTILE vödör értékét „3” -ként definiáltuk, mert a sorokat 3 sávra szeretnénk osztani, e.g., 1-3. Láthatja, hogy a sorokat sikeresen felosztották 3 egyenlő vödörre, amelyek mindegyik vödörben 3 sort tartalmaznak.

>> KIVÁLASZTÁS neve, fizetése, NEM HASZNÁLATA (3) TELJESEBB (MEGRENDELÉS fizetés szerint) A munkavállalótól WHERE életkor> 24 év;

Vegyünk egy másik példát, miközben ugyanazt a táblát használjuk. Ezúttal három oszlop rekordjait akarjuk megszerezni; név, életkor és fizetés a parancssorban található SELECT lekérdezés használatával. A WHERE záradékban enyhe változások vannak. Jelenleg a „munkavállaló” tábla nyilvántartásait keressük, ahol az életkor kevesebb, mint 27 év, és csak akkor kapják meg azokat a nyilvántartásokat, amelyek 27 évnél fiatalabbak. Másrészt a vödörértékben nincs változás, mivel ismét 3. A megadott parancs kipróbálásával csak három rekordot találtunk, egyenlően elosztva 3 vödörre, ahogy a képen látható.

>> KIVÁLASZTJA a nevét, életkorát, fizetését, NEM SZÁMÁT (3) TELJESEBB (fizetés szerint rendezve) az alkalmazótól < '27';

Az NTILE () FELHASZNÁLÁSA RENDELÉSI ÉS FELOSZTÁSI SZABÁLYZATBAN:

Nézzünk egy példát az NTILE () OVER-re, miközben a PARTITION BY és ORDER BY záradékokat egyszerre használjuk. Tegyük fel, hogy az adatbázis „teszt” változatlan tábla „alkalmazott” kerül felhasználásra. Ebben a példában ki kell választania a három oszlopot; név, életkor és fizetés, miközben növekvő módon rendezi a „kor” mezőt. Ezenkívül a PARTICION BY záradékot használtuk a „fizetés” oszlopban, hogy egy oszlopot készítsünk ennek az oszlopnak megfelelően. Nincs konkrét feltétel, amelyet ebben a lekérdezésben használtak, ami azt jelenti, hogy az „alkalmazott” tábla összes rekordja megjelenik. Az NTILE vödör értéke „3”. Az alább megadott lekérdezés végrehajtásakor látni fogja az alábbi eredményt. A partíciókat a „fizetés” oszlop különértékei szerint végzik. A „fizetés” oszlop összes értéke különbözik, ezért különböző partíciókban található, kivéve a „60000” értéket. Ez azt jelenti, hogy minden partíció 1 értéket kapott, egy kivételével. Ezt követően az összes partíciós sor vödrökön keresztül lett rangsorolva. Csak egy vödör kapott 2. helyezést.

>> KIVÁLASZTJA a nevét, életkorát, fizetését, NEM SZÁMÁT (3) TELJESEBB (FELEK SZERZÉS fizetés, RENDELÉS életkor szerint) AZ ALKALMAZÓTÓL;

Ugyanazt az NTILE () OVER példát véve a PARTITION BY és ORDER BY záradékkal, WHERE záradékkal. A WHERE záradékban meghatároztuk azt a feltételt, amely szerint csak akkor lehet beolvasni azokat a nyilvántartásokat, ahol a munkavállaló életkora kevesebb, mint 27 év. Csak 3 eredményt kaptunk, amelyekben 2 korosztály és partíció szerint oszlop oszlott meg.

>> KIVÁLASZTJA a nevét, életkorát, fizetését, NEM SZÁMÁT (3) TELJESEBB (FELEK SZERINTI FEL, RENDELÉS életkor szerint) AZ ALKALMAZOTTTÓL < '27';

Következtetés:

Ebben az útmutatóban különböző példákat tárgyaltunk a ntile függvényekről. Megvalósíthatja őket szükségleteinek megfelelően.

A kurzor véletlenszerűen ugrik vagy mozog, miközben gépel a Windows 10-ben
Ha úgy találja, hogy az egér kurzor önállóan, automatikusan, véletlenszerűen ugrik vagy mozog, miközben gépel Windows laptopba vagy számítógépbe, akko...
Az egér és az érintőpadok görgetési irányának megfordítása a Windows 10 rendszerben
Egér és Érintőpads nemcsak a számítást könnyűvé, de hatékonyabbá és kevésbé időigényessé is teszi. Nem tudunk elképzelni egy életet ezek nélkül az esz...
Az egérmutató és a kurzor méretének, színének és sémájának módosítása a Windows 10 rendszeren
Az egérmutató és a kurzor a Windows 10 operációs rendszerben nagyon fontos szempont. Ez elmondható más operációs rendszerekről is, tehát valójában eze...