Ostatnio zaktualizowane 2023/02/26 przez admin
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]
;
