Menu
Coddy logo textTech

Funzioni LEAD e LAG

Lezione 6 di 13 del corso SQL avanzato di Coddy.

Le funzioni Lead e Lag ci permettono di ottenere il valore della riga corrente spostandoci indietro di n passaggi o avanti di n passaggi

Ad esempio, se vogliamo calcolare il rapporto di un'azienda per la riga corrente e quella di un mese fa, estraiamo il valore di due mesi fa:

idrevenuemonth
15325
24926
33937
47238
SELECT id, revenue, LAG(month, 1) OVER (ORDER BY MONTH) as prev_month_revenue
FROM table1 ORDER BY id

Questo creerà la tabella seguente:

idrevenueprev_month_revenue
1532 
2492532
3393492
4723723

In questo modo possiamo calcolare il rapporto prev_month_revenue/revenue.

Se invece usassimo la funzione LEAD, verrebbe preso il mese successivo per ogni riga:

idrevenuenext_month_revenue
1532492
2492393
3393723
4723 
challenge icon

Sfida

Facile

I condizionatori possono diventare molto costosi. Col passare del tempo, sono diventati più efficienti e potenti, ma l’importanza di questi miglioramenti non si nota giorno per giorno. Dobbiamo allargare lo sguardo per vedere i miglioramenti nel tempo.

Per farlo, calcola la media di efficiency e strength dei condizionatori per ogni id e month. Poi recupera il rapporto tra efficiency e strength per il mese corrente e per quello di due mesi prima. Infine, calcola il rapporto tra il rapporto del mese corrente e il rapporto di due mesi prima. Restituisci i risultati in cui il rapporto è maggiore di 1.5. Chiama questa colonna ratio_two_months.

Provalo tu

Tutte le lezioni di SQL avanzato

Esercitati da solo: Compilatore Python online