Funkcja MSSQL LEAD. Porównywanie rekordów

Funkcja SQL Server LEAD. Jak prawidłowo korzystać z funkcji?

Funkcja SQL Server LEAD jest jedną z wielu funkcji analitycznych dostępnych w systemie SQL Server. Służy do wyświetlania wartości z wiersza następnego w porównaniu do bieżącego wiersza w zapytaniu. Jest to szczególnie przydatne, gdy chcesz porównać wartości wierszy w ramach jednego zapytania.

Składnia funkcji LEAD – porównywanie rekordów

LEAD (scalar_expression [, offset [, default]]) OVER ( [ partition_by_clause ] order_by_clause )

Scalar_expression jest wyrażeniem skalarnym, które określa wartość, którą chcesz wyświetlić z następnego wiersza. Offset określa liczbę wierszy, o które chcesz przesunąć wynik. Default jest opcjonalnym wyrażeniem skalarnym, które określa wartość zwracaną, jeśli nie ma następnego wiersza.

Partition_by_clause jest opcjonalnym wyrażeniem, które określa, jak wiersze są grupowane. Order_by_clause określa, w jakiej kolejności wiersze są porządkowane.

Aby użyć funkcji LEAD, musisz wykonać zapytanie, które zwróci wyniki w odpowiedniej kolejności. Na przykład, jeśli chcesz wyświetlić nazwę produktu i cenę produktu z następnego wiersza, możesz użyć następującego zapytania:

SELECT ProductName, Price, LEAD (Price, 1, 0) OVER (ORDER BY ProductName) AS NextPrice FROM Products

W tym zapytaniu funkcja LEAD wyświetli cenę produktu z następnego wiersza. Jeśli nie ma następnego wiersza, zostanie zwrócona wartość 0.

AdventureWorks – przykład

SELECT
Productid,
listPrice,
LEAD (listPrice, 1, 0) OVER (ORDER BY Productid) AS NextPrice
FROM [Production].[Product]
;
MSSQL – porównywanie wartości rekordów

Leave a comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

%d bloggers like this: