Sql ntile

Sql ntile
La funzione SQL Ntile divide le righe di una partizione ordinata in un insieme di parti uguali definite. A ogni parte viene assegnata un'espressione numerica che va da 1.

In SQL standard, la funzione Ntile può essere espressa come mostrato:

Ntile (const_int_expr)

La funzione dividerà le righe nelle parti definite const_int_expr in base all'ordine della riga e restituisce un numero di parte basato su 1 che viene assegnato a ciascuna riga.

Per più verbosio e sintassi espliciti, possiamo esprimerla come mostrato:

Ntile (parti) sopra (
[Partizione di partizione_expression,…]
Ordine di Sort_Expression [ASC | Desc], ..
)

Il parametro delle parti definisce il numero totale di parti in cui le righe sono divise. Il valore deve essere un numero intero o una query che restituisce un numero intero positivo.

La partizione per clausola definirà l'espressione che separa le righe in sezioni di sezioni. La funzione ntile viene quindi applicata a queste partizioni.

Ordine per specificherà l'ordine in cui vengono ordinate le righe. Questo è applicato in ogni partizione.

SQL NTILE - Esempio pratico

Per illustrare usando la funzione ntile, usiamo un esempio pratico. Inizia creando un database per archiviare i dati di esempio.

Crea database ntile_db;

Passa al database e crea una tabella come mostrato:

Crea dipendenti da tavolo (
Chiave primaria seriale ID,
full_name varchar (255),
Email Varchar (255),
Dipartimento Varchar (100),
Data start_date,
Bool attivo,
Categoria Varchar (50)
);

NOTA: La query sopra è fornita per i database PostgreSQL. Sentiti libero di cambiare la query sopra per abbinare il motore del database desiderato.

Una volta definito lo schema della tabella, possiamo procedere e aggiungere dati di esempio. Esegui la query di seguito per aggiungere i dati di esempio.

Quanto sopra aggiunge i dati di esempio alla tabella. Useremo questi dati per illustrare come utilizzare la funzione ntile.

Esempio 1

Usiamo la funzione Ntile per dividere i dati sopra in 3 righe separate in base alla categoria.

Seleziona ID,
nome e cognome,
e-mail,
Dipartimento,
data d'inizio,
attivo,
categoria,
ntile (3) over (partizione per categoria ordine per id asc) come cat_rank
dai dipendenti;

La query sopra dovrebbe partizione del risultato per categoria e applicare la funzione ntile. La tabella risultante è mostrata di seguito:

Chiusura

Usando questo articolo, abbiamo scoperto come fa la funzione ntile e come usarlo. Controlla la documentazione per il motore del database per esplorare di più.

Grazie per aver letto!!