PostgreSQL

Funzione della finestra NTILE di PostgreSQL

Funzione della finestra NTILE di PostgreSQL
I metodi della finestra in PostgreSQL sono stati eliminati per equiparare i dati divergenti e sono essenziali per i casi d'uso analitici e di altro tipo di PostgreSQL. Il metodo NTILE() seguito dalla clausola OVER in PostgreSQL viene scartato per dividere le righe organizzate in una serie simile di bucket graduati. I bucket non sono altro che un insieme di gruppi classificati. In questo articolo scoprirai come dividere le righe ordinate in una partizione in una data cifra di bucket classificati utilizzando la funzione PostgreSQL NTILE(). Il metodo NTILE() assegna un numero di bucket a ogni gruppo a partire da 1 in un set, dimostrando il set in cui la riga ha il suo posto.

Sintassi:

>> NTILE(bucket) OVER ( [PARTITION BY espressione di partizione,… ] [ORDET BY espressione di ordinamento] ) [ASC | DESC],… ]);

Prima di tutto, per comprendere il metodo NTILE, accedi dalla shell PostgreSQL. Ecco perché provare ad avviare la shell della riga di comando di PostgreSQL dalle applicazioni. Per lavorare su un altro Server, inserisci il nome di un server; altrimenti, premi Invio. Se hai bisogno di esercitarti sul database precedentemente designato, e.g., Postgres, quindi premere Invio oppure inserire un titolo della banca dati, e.g. 'test'. Per utilizzare una porta diversa da 5432, iscrivila; in caso contrario, lascialo così com'è e premi Invio per continuare. Potrebbe richiedere di inserire il nome utente nel caso in cui sia necessario passare a un nuovo nome utente. Inserisci il nome utente; altrimenti, premi Invio. Infine, devi inserire la tua password utente attuale, per passare usando la riga di comando utilizzando quell'utente specifico come sotto. Successivamente, effettivi inserimenti di tutti i dati obbligatori, potrai iniziare a lavorare su NTILE.

Per iniziare a lavorare su NTILE, devi creare una nuova tabella usando il comando CREATE se non ne hai uno. Pensa alla tabella "dipendente" visualizzata di seguito nel tuo database PostgreSQL denominata "test". Questa tabella contiene quattro colonne e.g., id, nome, età e stipendio di un dipendente di una determinata azienda. Ogni colonna ha un totale di 10 righe, il che significa 10 record in ogni campo di colonna.

>> SELEZIONA * FROM dipendente;

All'inizio, dobbiamo capire il semplice concetto di recuperare i record da una tabella usando la clausola ORDER BY. Abbiamo eseguito il comando SELECT di seguito senza utilizzare NTILE per elaborare e comprendere brevemente il concetto. Recuperiamo i record per le colonne; nome, età e stipendio mentre si ordinano i record nell'ordine crescente del campo "età". Puoi vedere che visualizzerà semplicemente i record come presentati nell'immagine.

>> SELEZIONA nome, età, stipendio FROM dipendente ORDER BY età;

Uso di NTILE() OVER con clausola ORDER BY:

Supponendo la stessa tabella "dipendente", iniziamo a utilizzare la clausola NTILE() OVER nel nostro esempio. In questo esempio, abbiamo selezionato le due colonne; nome e stipendio, ordinando il risultato relativo all'ordine crescente di una colonna “stipendio”. Il risultato conterrà dati in cui l'età di un dipendente è maggiore di 24 anni. Abbiamo definito il valore del bucket NTILE come "3" perché vogliamo dividere le righe in 3 bucket, e.g., da 1 a 3. Puoi vedere che le righe sono state divise con successo in 3 bucket uguali, contenenti 3 righe in ogni bucket.

>> SELECT nome, stipendio, NTILE(3) OVER( ORDER BY stipendio ) FROMemployee WHERE età > '24';

Ora, facciamo un altro esempio utilizzando la stessa tabella "dipendente". Questa volta, vogliamo recuperare i record di tre colonne; nome, età e stipendio utilizzando la query SELECT nella shell dei comandi. Ci sono lievi modifiche nella clausola WHERE. Attualmente, stiamo cercando i record della tabella "dipendente" in cui l'età è inferiore a 27 anni che otterrà solo i record con età inferiore a 27. D'altra parte, non vi è alcun cambiamento nel valore di un bucket, poiché è di nuovo 3. Provando il comando indicato, abbiamo trovato solo tre record, equamente divisi in 3 bucket come mostrato nell'immagine.

>> SELEZIONA nome, età, stipendio, NTILE(3) OVER ( ORDER BY stipendio ) FROM dipendente WHERE età < '27';

Utilizzo di NTILE() OVER con clausola ORDER BY e PARTITION BY:

Facciamo un esempio di NTILE() OVER durante l'utilizzo simultaneo delle clausole PARTITION BY e ORDER BY. Supponiamo che venga utilizzata la tabella "dipendente" invariata da un database "test". In questo esempio, devi selezionare le tre colonne; nome, età e stipendio, ordinando in ordine crescente di un campo "età". Inoltre, abbiamo utilizzato la clausola PARTITION BY sulla colonna "stipendio", per creare partizioni di una tabella in base a questa colonna. Non esiste una condizione specifica che è stata utilizzata in questa particolare query, il che significa che verranno visualizzati tutti i record della tabella "dipendente". Il bucket NTILE ha un valore di "3". Durante l'esecuzione della query indicata di seguito, vedrai il risultato di seguito. Le partizioni vengono effettuate secondo i valori distinti della colonna “stipendio”. Tutti i valori della colonna “stipendio” sono distinti, ecco perché si trova in partizioni diverse tranne il valore “60000”. Ciò significa che ogni partizione ha 1 valore tranne uno. Successivamente, tutte le righe della partizione sono state classificate tramite i bucket. Solo un secchio ha ottenuto il 2° grado.

>> SELEZIONA nome, età, stipendio, NTILE(3) OVER( PARTIZIONE PER stipendio, ORDINA PER età ) FROM dipendente;

Prendendo lo stesso esempio di NTILE() OVER con l'uso della clausola PARTITION BY e ORDER BY con una clausola WHERE. Nella clausola WHERE, abbiamo definito la condizione, che dice che gli unici record che verranno recuperati sono dove l'età del dipendente è inferiore a 27 anni. Abbiamo ottenuto solo 3 risultati con 2 partizioni in base all'età e alla colonna "ntile" con i ranghi.

>> SELEZIONA nome, età, stipendio, NTILE(3) OVER( PARTIZIONE PER stipendio, ORDINA PER età ) FROM dipendente WHERE età < '27';

Conclusione:

In questa guida, abbiamo discusso diversi esempi di funzioni ntile. Puoi implementarli secondo le tue necessità.

Come modificare il puntatore del mouse e le dimensioni, il colore e lo schema del cursore su Windows 10
Il puntatore del mouse e il cursore in Windows 10 sono aspetti molto importanti del sistema operativo. Questo si può dire anche per altri sistemi oper...
Motori di gioco gratuiti e open source per lo sviluppo di giochi Linux
Questo articolo tratterà un elenco di motori di gioco gratuiti e open source che possono essere utilizzati per lo sviluppo di giochi 2D e 3D su Linux....
Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...