Menu
Coddy logo textTech

Funkcje LEAD i LAG

Lekcja 6 z 13 w kursie SQL dla zaawansowanych w Coddy.

Funkcje Lead i Lag pozwalają nam uzyskać wartość bieżącego wiersza sprzed n kroków lub z n kroków naprzód

Na przykład, jeśli chcemy obliczyć współczynnik dla firmy dla bieżącego wiersza i sprzed jednego miesiąca, pobieramy wartość sprzed dwóch miesięcy:

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

W ten sposób powstanie następująca tabela:

idrevenueprev_month_revenue
1532 
2492532
3393492
4723723

W ten sposób możemy obliczyć współczynnik prev_month_revenue/revenue.

Jeśli zamiast tego użyjemy funkcji LEAD, pobierze ona wartość z następnego miesiąca dla każdego wiersza:

idrevenuenext_month_revenue
1532492
2492393
3393723
4723 
challenge icon

Wyzwanie

Łatwy

Klimatyzatory mogą być bardzo drogie. Z czasem stały się bardziej wydajne i mocniejsze, ale znaczenia tych ulepszeń nie widać z dnia na dzień. Musimy spojrzeć na nie z szerszej perspektywy, aby dostrzec zmiany w czasie.

Aby to zrobić, oblicz średnią efficiency i strength klimatyzatorów dla każdego id i month. Następnie pobierz stosunek efficiency do strength dla bieżącego miesiąca i dwóch miesięcy przed nim. Na koniec oblicz stosunek wartości dla bieżącego miesiąca do wartości sprzed dwóch miesięcy. Zwróć wyniki, w których stosunek jest większy niż 1.5. Nazwij tę kolumnę ratio_two_months.

Spróbuj swoich sił

Wszystkie lekcje w sekcji SQL dla zaawansowanych

Poćwicz samodzielnie: Kompilator Python online