SQL Lead

SQL Lead

Funkcja wiodącego SQL umożliwia dostęp do następnego wiersza z bieżącego wiersza przy określonym przesunięciu. Krótko mówiąc, funkcja wiodąca umożliwia dostęp do następnego wiersza z bieżącego. Określając wartość przesunięcia, możesz uzyskać dostęp do następnych 1, 2, 3 itd., rzędy z bieżącego.

Jest to przeciwieństwo funkcji LAG (), która pozwala uzyskać dostęp do poprzednich wierszy.

SQL Lead ()

Składnia funkcji jest jak pokazana:

Lead (value_Expression, offset [, domyślnie])
NAD (
[Partycja przez parition_Expression]
Zamów przez sort_Expression [ASC | Desc]
);

Poniżej znajdują się obsługiwane argumenty:

  1. wartość_expression - Określa wartość zwracania poprzedniego wiersza. Wyrażenie musi ocenić jedną wartość.
  2. zrównoważyć - Określa, ile wierszy do przodu z bieżącego wiersza do dostępu.
  3. domyślny - ustawia wartość domyślną, jeśli przesunięcie jest poza zakresem partycji. Domyślnie wartość jest ustawiona na null.
  4. Partycja przez - Określa, jak podzielić dane.
  5. Zamów przez - Ustawia format zamówienia dla wierszy w każdej partycji.

Przykład 1

Załóżmy, że mamy tabelę zawierającą informacje o pracownikach, jak pokazano:

Aby uzyskać dostęp do następnej nazwy pracownika, możemy uruchomić zapytanie, jak pokazano:

Wybierz identyfikator, Full_name, Lead (Full_name) Over (
partycja według kategorii
Zamów według ID ASC
) Jako Next_Employee
Od pracowników;

Powyższy kod podzieli dane na podstawie kategorii. Następnie przyniesie następną nazwę w partycji za pomocą funkcji wiodących.

Powstałe wyjście jest jak pokazano:

Przykład 2

Jeśli nie ma następnego wiersza w określonej kolumnie (poza granicą), funkcja ustawi wartość na null, jak pokazano powyżej.

Aby ustawić wartość domyślną dla każdego dostępu spoza rezultatu, możemy wykonać następujące czynności:

Wybierz identyfikator, Full_name, Lead (Full_name, 1, „N/a”)
partycja według kategorii
Zamów według ID ASC
) Jako Next_Employee
Od pracowników;

Ustawiamy wartość domyślną na „nie dotyczy”. Powinno to zastąpić dowolną wartość poza nieokreśloną, jak pokazano na wyjściu:

NOTATKA: Ustawienie przesunięcia na 1 jest podobne do nie określania żadnej wartości.

Przykład 3

Załóżmy, że chcesz uzyskać dostęp do następnych dwóch rzędów z bieżącego wiersza? Możemy to zrobić, ustawiając wartość przesunięcia na 2.

Przykładowe zapytanie ilustruje poniżej:

Wybierz identyfikator, Full_name, Lead (Full_name, 2, „N/a”)
partycja według kategorii
Zamów według ID ASC
) Jako Next_Employee
Od pracowników;

To zapytanie zwróci kolejne dwa wiersze w każdej partycji, jak pokazano poniżej: