SQL Ntile

SQL Ntile
SQL Ntile -funksjonen deler radene til en bestilt partisjon i et sett med definerte like store deler. Hver del tildeles et talluttrykk som varierer fra 1.

I standard SQL kan Ntilile -funksjonen uttrykkes som vist:

Ntile (const_int_expr)

Funksjonen vil dele radene i de definerte Const_int_expr-delene basert på radrekkefølgen og returnerer et 1-basert delenummer som er tilordnet hver rad.

For mer ordentlig og eksplisitt syntaks, kan vi uttrykke det som vist:

Ntile (deler) over (
[Partisjon av Partition_expression,…]
Bestill etter sort_expression [ASC | Desc], ..
)

Delparameteren definerer det totale antall deler som radene er delt. Verdien må være et heltall eller en spørring som returnerer et positivt heltall.

Partisjonen BY -leddet vil definere uttrykket som skiller radene i sett med seksjoner. Ntile -funksjonen blir deretter brukt på disse partisjonene.

Ordre med vil spesifisere rekkefølgen som radene er bestilt. Dette brukes i hver partisjon.

SQL Ntile - Praktisk eksempel

For å illustrere ved hjelp av Ntilile -funksjonen, la oss bruke et praktisk eksempel. Begynn med å opprette en database for å lagre eksempeldataene.

Opprette database ntile_db;

Bytt til databasen og lag en tabell som vist:

Lag tabellansatte (
ID Seriell primærnøkkel,
full_name varchar (255),
E -post varchar (255),
Avdeling varchar (100),
start_date dato,
aktiv bool,
Kategori varchar (50)
);

MERK: Ovennevnte spørring er gitt for PostgreSQL -databaser. Bytt gjerne spørringen ovenfor for å matche ønsket databasemotor.

Når du har definert tabellskjemaet, kan vi fortsette og legge til eksempeldata. Kjør spørringen nedenfor for å legge til eksempeldata.

Ovennevnte legger til prøvedata i tabellen. Vi vil bruke disse dataene for å illustrere hvordan du bruker Ntile -funksjonen.

Eksempel 1

La oss bruke Ntilile -funksjonen for å dele opp dataene ovenfor i 3 separate rader basert på kategorien.

Velg ID,
fullt navn,
e -post,
avdeling,
startdato,
aktiv,
kategori,
ntile (3) over (partisjon etter kategori bestilling av id asc) som cat_rank
fra ansatte;

Ovennevnte spørring skal partisjonere resultatet etter kategorien og anvende Ntile -funksjonen. Den resulterende tabellen er vist nedenfor:

Lukking

Ved hjelp av denne artikkelen oppdaget vi hvordan NTILE -funksjonen gjør og hvordan du bruker den. Sjekk dokumentasjonen for databasemotoren din for å utforske mer.

Takk for at du leste!!