PostgreSQL

PostgreSQL NTILE-vindusfunksjon

PostgreSQL NTILE-vindusfunksjon
Vindusmetoder i PostgreSQL er avvist for å likestille avviksdata og er avgjørende for analytiske og andre PostgreSQL brukstilfeller. NTILE () -metoden etterfulgt av OVER-klausulen i PostgreSQL forkastes for å dele organiserte rader i omtrent like serier med graderte bøtter. Skuffer er ikke noe mer enn et sett rangert grupper. Gjennom denne artikkelen vil du oppdage hvordan du kan dele sorterte rader i en partisjon i en gitt figur av rangerte skuffer ved hjelp av PostgreSQL NTILE () -funksjonen. NTILE () -metoden tildeler et bucket-nummer til hver gruppe som begynner med 1 i et sett, og viser settet som raden har sin plass til.

Syntaks:

>> NTILE (bøtter) OVER ([DELING BY partition expression,…] [ORDET BY sort expression]) [ASC | DESC],…]);

Først og fremst, for å forstå NTILE-metoden, logg inn fra PostgreSQL-skallet. Det er derfor du prøver å starte PostgreSQL kommandolinjeskall fra applikasjonene. For å jobbe på en annen server, skriv inn navnet på en server; ellers, trykk Enter. Hvis du trenger å øve på den tidligere angitte databasen, e.g., Postgres, og trykk deretter på Enter, ellers, skriv en tittel på databanken, f.eks.g. 'test'. For å bruke en annen port enn 5432, skriv den ut; hvis ikke, la det være som det er, og trykk Enter for å fortsette. Det kan be deg om å oppgi brukernavnet i tilfelle du trenger å bytte til et nytt brukernavn. Skriv inn brukernavnet; ellers er det bare å trykke Enter. Til slutt må du legge inn ditt nåværende brukerpassord for å bytte ved hjelp av kommandolinjen ved å bruke den spesifikke brukeren under. Deretter, effektive oppføringer av alle obligatoriske data, kan du begynne å jobbe med NTILE.

For å begynne å jobbe med NTILE, må du opprette en ny tabell ved hjelp av CREATE-kommandoen hvis du ikke har en. Tenk gjennom nedenstående tabell "ansatt" i PostgreSQL-databasen din, kalt "test". Denne tabellen inneholder fire kolonner e.g., id, navn, alder og lønn til en ansatt i et bestemt selskap. Hver kolonne har totalt 10 rader, noe som betyr 10 poster i hvert kolonnefelt.

>> VELG * FRA ansatt;

I starten må vi forstå det enkle konseptet med å hente poster fra en tabell ved å bruke ORDER BY-setningen. Vi har utført SELECT-kommandoen nedenfor uten å bruke NTILE til å utdype og forstå konseptet kort. Vi henter poster for kolonner; navn, alder og lønn mens du sorterer postene i stigende rekkefølge av feltet "alder". Du kan se at det bare vil vise postene som vist i bildet.

>> VELG navn, alder, lønn FRA ansatt ORDEN etter alder;

Bruk av NTILE () OVER med BESTILLING AV Klausul:

Forutsatt at den samme tabellen er "ansatt", la oss begynne å bruke NTILE () OVER-setningen i vårt eksempel. I dette eksemplet har vi valgt de to kolonnene; navn og lønn, mens du sorterer resultatet relatert til stigende rekkefølge for en kolonne "lønn". Resultatet vil inneholde data der en ansattes alder er over 24 år. Vi har definert verdien av NTILE-bøtta som “3” fordi vi vil dele rader i 3 bøtter, e.g., 1 til 3. Du kan se at radene er delt inn i tre like bøtter, som inneholder 3 rader i hver bøtte.

>> VELG navn, lønn, NTILE (3) OVER (BESTILLES PÅ lønn) FRA arbeidstaker HVOR alder> '24';

La oss ta et annet eksempel mens vi bruker den samme tabellen "ansatt". Denne gangen ønsker vi å hente postene til tre kolonner; navn, alder og lønn ved hjelp av SELECT-spørringen i kommandoskallet. Det er små endringer i WHERE-klausulen. Foreløpig har vi vært på jakt etter postene til tabellen "ansatt" der alderen er mindre enn 27 år, som bare vil få postene som er under 27 år. På den annen side er det ingen endring i en bøtteverdi, da det igjen er 3. Ved å prøve den angitte kommandoen har vi funnet bare tre poster, likt delt inn i 3 bøtter som vist på bildet.

>> VELG navn, alder, lønn, NTILE (3) OVER (BESTILLING PÅ lønn) FRA ansatt HVOR alder < '27';

Bruk av NTILE () OVER med ORDER BY og PARTITION BY klausul:

La oss ha et eksempel på NTILE () OVER mens vi bruker PARTITION BY og ORDER BY-ledd samtidig. Anta at den uendrede tabellen "ansatt" fra en database "test" vil bli brukt. I dette eksemplet må du velge de tre kolonnene; navn, alder og lønn mens du sorterer på stigende måte av et felt "alder". Dessuten har vi brukt PARTITION BY-klausulen på kolonnen "lønn" for å lage partisjoner av en tabell i henhold til denne kolonnen. Det er ingen spesifikke betingelser som har blitt brukt i dette spørsmålet, noe som betyr at alle poster for tabellen "ansatt" vil vises. NTILE-skuffen har verdien “3”. Når du utfører spørringen nedenfor, vil du se resultatet nedenfor. Skilleveggene er utført i henhold til de forskjellige verdiene til kolonnen "lønn". Alle verdiene til kolonne "lønn" er forskjellige, det er derfor den ligger i forskjellige partisjoner bortsett fra verdien "60000". Dette betyr at hver partisjon fikk 1 verdi bortsett fra en. Etter det ble alle partisjonsradene rangert gjennom skuffer. Bare en bøtte fikk 2. rang.

>> VELG navn, alder, lønn, NTILE (3) OVER (DELING PÅ lønn, BESTILLING AV alder) FRA ansatt;

Tar det samme eksemplet med NTILE () OVER med bruk av PARTITION BY og ORDER BY-klausul med en WHERE-klausul. I WHERE-paragrafen har vi definert tilstanden, som sier at de eneste postene som skal hentes er der den ansattes alder er under 27 år. Vi fikk bare 3 resultater med to partisjoner i henhold til alder og "ntile" kolonne med rang.

>> VELG navn, alder, lønn, NTILE (3) OVER (DELING PÅ lønn, ORDEN etter alder) FRA ansatt HVOR alder < '27';

Konklusjon:

I denne guiden har vi diskutert forskjellige eksempler på ntile-funksjoner. Du kan implementere dem etter behov.

Mus Hvordan endre venstre og høyre museknapp på Windows 10 PC
Hvordan endre venstre og høyre museknapp på Windows 10 PC
Det er ganske vanlig at alle datamusenheter er ergonomisk designet for høyrehendte brukere. Men det er tilgjengelige musenheter som er spesielt design...
Mus Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Bruk av mus eller tastatur i feil stilling for overdreven bruk kan føre til mange helseproblemer, inkludert belastning, karpaltunnelsyndrom og mer. I ...
Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...