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
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