Funkcja opóźnienia w SQL umożliwia pobranie poprzedniego wiersza w określonym przesunięciu z bieżącego wiersza. Oznacza to, że możesz uzyskać dostęp do poprzedniego wiersza z bieżącego wiersza. Możesz także określić określone przesunięcie, aby uzyskać dostęp do drugiego, trzeciego itd. W poprzednim rzędzie.
Omówmy, w jaki sposób możemy użyć funkcji opóźnienia w SQL.
Składnia funkcji
Składnia funkcji jest jak pokazana:
Lag (scallar_Expression [, offset] [, domyślnie])Parametry funkcji są wyrażone, jak pokazano poniżej:
Przykład 1
Załóżmy, że mamy tabelę zawierającą dane pracowników, jak pokazano:
Aby uzyskać aktualne i poprzednie nazwiska pracowników, możemy uruchomić zapytanie, jak pokazano:
Wybierz Full_name, Lag (Full_name)Powyższy kod powinien zwrócić nazwy bieżących i poprzednich pracowników w każdej partycji.
Wyjście jest tak, jak pokazano:
Przykład 2
Jeśli w partycji nie ma poprzedniego wiersza, funkcja zwróci NULL. Jeśli chcemy ustawić wartość dla nieistniejących wierszy, możemy ustawić parametr domyślny, jak pokazano:
Wybierz Full_name, Lag (Full_name, 1, „Brakująca osoba”)Powinno to zastąpić wartości zerowe „zaginiona osoba.„Wyjście zostanie pokazane poniżej:
Przykład 3
Załóżmy, że chcemy uzyskać dostęp do dwóch wierszy z bieżącego wiersza? Możemy to zrobić, określając przesunięcie, jak pokazano:
Wybierz Full_name, Lag (Full_name, 2, „N/A”)Powyższe zapytanie powinno wrócić do dwóch wierszy i wybrać jego wartość.
Wyjście:
Wniosek
W tym artykule nauczyłeś się, jak korzystać z funkcji SQL LAG (), aby uzyskać dostęp do poprzedniego wiersza z bieżącego wiersza.
Dziękuje za przeczytanie!!