Sfida: Utilizzo delle Funzioni Finestra
Supponiamo di voler aggiungere informazioni alla tabella su a quale classe appartiene ciascun utente in base al saldo del loro conto.
Le classi saranno determinate come segue:
- Una persona il cui saldo è nel
25%inferiore apparterrà alla quarta classe; - Una persona il cui saldo è tra il
25%e il50%apparterrà alla terza classe; - Una persona il cui saldo è tra il
50%e il75%apparterrà alla seconda classe; - Una persona il cui saldo è nel
25%superiore apparterrà alla prima classe.
Per risolvere questo problema, possiamo utilizzare una funzione finestra chiamata NTILE().
La funzione NTILE() è una funzione finestra che suddivide le righe in una partizione ordinata in un numero specificato di gruppi di dimensioni approssimativamente uguali, o "tiles".
Assegna a ciascuna riga un numero di gruppo, a partire da 1, in base al gruppo in cui ricade.
NTILE(num_buckets) OVER (
ORDER BY sort_column
)
Nell'esempio, non è necessario specificare una clausola PARTITION BY perché vogliamo applicare la funzione NTILE() all'intero set di risultati, non a specifici sottoinsiemi o partizioni dei dati.
La clausola ORDER BY è sufficiente poiché definisce l'ordine in cui le righe vengono distribuite nei tiles, garantendo che il raggruppamento sia basato sull'ordine dei salari ordinati su tutta la tabella.
Se volessimo calcolare i tiles all'interno di gruppi specifici (ad esempio, reparti), useremmo PARTITION BY.
Swipe to start coding
Completa gli spazi vuoti per utilizzare la funzione NTILE() in modo che a ciascun titolare di conto venga assegnata una classe da 1 a 4, dove la classe 1 comprende i saldi più alti.
- Utilizza 4 come numero di classi;
- Ordina per la colonna
balancein ordine decrescente; - Assicurati che il risultato mostri
account_holder,balancee la relativaclass.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
How do I use the NTILE() function to classify users into these classes?
Can you show an example SQL query that implements this classification?
What does the output table look like after adding the class information?
Fantastico!
Completion tasso migliorato a 4.55
Sfida: Utilizzo delle Funzioni Finestra
Scorri per mostrare il menu
Supponiamo di voler aggiungere informazioni alla tabella su a quale classe appartiene ciascun utente in base al saldo del loro conto.
Le classi saranno determinate come segue:
- Una persona il cui saldo è nel
25%inferiore apparterrà alla quarta classe; - Una persona il cui saldo è tra il
25%e il50%apparterrà alla terza classe; - Una persona il cui saldo è tra il
50%e il75%apparterrà alla seconda classe; - Una persona il cui saldo è nel
25%superiore apparterrà alla prima classe.
Per risolvere questo problema, possiamo utilizzare una funzione finestra chiamata NTILE().
La funzione NTILE() è una funzione finestra che suddivide le righe in una partizione ordinata in un numero specificato di gruppi di dimensioni approssimativamente uguali, o "tiles".
Assegna a ciascuna riga un numero di gruppo, a partire da 1, in base al gruppo in cui ricade.
NTILE(num_buckets) OVER (
ORDER BY sort_column
)
Nell'esempio, non è necessario specificare una clausola PARTITION BY perché vogliamo applicare la funzione NTILE() all'intero set di risultati, non a specifici sottoinsiemi o partizioni dei dati.
La clausola ORDER BY è sufficiente poiché definisce l'ordine in cui le righe vengono distribuite nei tiles, garantendo che il raggruppamento sia basato sull'ordine dei salari ordinati su tutta la tabella.
Se volessimo calcolare i tiles all'interno di gruppi specifici (ad esempio, reparti), useremmo PARTITION BY.
Swipe to start coding
Completa gli spazi vuoti per utilizzare la funzione NTILE() in modo che a ciascun titolare di conto venga assegnata una classe da 1 a 4, dove la classe 1 comprende i saldi più alti.
- Utilizza 4 come numero di classi;
- Ordina per la colonna
balancein ordine decrescente; - Assicurati che il risultato mostri
account_holder,balancee la relativaclass.
Soluzione
Grazie per i tuoi commenti!
single