Menu
Coddy logo textTech

Funzione NTILE

Fa parte della sezione Fondamenti del percorso SQL di Coddy. Lezione 67 di 72.

NTILE(n) numera le righe suddividendole in n parti approssimativamente uguali. Viene spesso usata per migliorare le prestazioni: inviare grandi quantità di dati tutte in una volta potrebbe non essere una buona idea, quindi questa funzione permette di inviare parti più piccole alla volta.

Per esempio:

idlevel
14
24
35
46
57
67
SELECT id, level, NTILE(3) OVER (ORDER BY level) as pieces
from table1

Questo restituirà:

idlevelpieces
141
241
352
462
573
673

Abbiamo ottenuto 3 gruppi: il livello 4 nel gruppo 1, il livello 5 e il livello 6 nel gruppo 2 e il livello 7 nel gruppo 3.
Quando il numero di righe non è divisibile equamente per n, NTILE distribuisce le righe nel modo più uniforme possibile, con i gruppi più grandi che compaiono per primi. Per esempio, se hai 9 righe e NTILE(4), la distribuzione sarebbe:

  • Gruppo 1: 3 righe
  • Gruppo 2: 2 righe
  • Gruppo 3: 2 righe
  • Gruppo 4: 2 righe

Questo garantisce che nessun gruppo differisca dagli altri di più di una riga e che le righe extra siano distribuite prima ai gruppi con numero più basso.

challenge icon

Sfida

Facile

Tabelle e colonne disponibili:

  • creatures: creature_name, preference, has_legs (contiene 'YES' o 'NO')

In questa sfida, abbiamo creature che vogliono trovare un partner. Dobbiamo aiutarle a trovare la persona giusta.

Ogni creatura ha una preferenza rappresentata da un numero. Se entrambe le creature hanno un numero abbastanza simile, potrebbero essere una buona coppia.

Dividi le creature in 3 gruppi in base ai valori delle loro preferenze, ma considera solo le creature che hanno le zampe (where has_legs = 'YES'). Restituisci creature_name, preference e il loro group_number (1, 2 o 3). Ordina i risultati in ordine crescente in base a preference.

Provalo tu

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground SQL