Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Utilizzo delle Funzioni Finestra | Alcuni Argomenti Aggiuntivi
Ottimizzazione SQL e Funzionalità delle Query

bookSfida: 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 il 50% apparterrà alla terza classe;
  • Una persona il cui saldo è tra il 50% e il 75% 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
)
Note
Nota

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.

Compito

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 balance in ordine decrescente;
  • Assicurati che il risultato mostri account_holder, balance e la relativa class.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

bookSfida: 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 il 50% apparterrà alla terza classe;
  • Una persona il cui saldo è tra il 50% e il 75% 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
)
Note
Nota

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.

Compito

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 balance in ordine decrescente;
  • Assicurati che il risultato mostri account_holder, balance e la relativa class.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
single

single

some-alt