Menu
Coddy logo textTech

Funzione NTILE

Lezione 10 di 13 del corso SQL avanzato di Coddy.

NTILE(n) numera le righe dividendole in n parti 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 consente 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 parti: il livello 4 nella parte 1, i livelli 5 e 6 nella parte 2 e il livello 7 nella parte 3.
Se n in NTILE(n) non è divisibile per il numero di righe della tabella: supponiamo che la tabella abbia 9 righe e che n sia 4; inserirà nella parte finale il maggior numero possibile di righe.

challenge icon

Sfida

Medio

In questa sfida, ci sono creature che vogliono trovare un partner. Dobbiamo aiutarle a trovare la loro anima gemella.

Ogni creatura ha una preferenza rappresentata da un numero. Se i numeri di due creature sono abbastanza vicini, potrebbero essere una buona coppia.

Trova le coppie migliori. Crea una nuova colonna denominata couple_matcher, con numeri da uno al numero di creature diviso per due, in modo che ogni coppia abbia lo stesso numero. Le coppie possono formarsi solo se una creatura ha le gambe e l'altra no.

Ordina il risultato in ordine crescente per couple_matcher e creature_name.

Provalo tu

Tutte le lezioni di SQL avanzato

Esercitati da solo: Compilatore Python online