Funkcja SQL Server LAG. Opis, składnia, przykład użycia.

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

Funkcja SQL Server LAG służy do porównywania wierszy w zapytaniu. Pozwala to na wyświetlanie danych w określonym porządku, co jest przydatne w przypadku analizowania danych. Funkcja LAG pozwala również na porównywanie danych z poprzedniego wiersza. Funkcja LAG zwraca wartość z rekordu poprzedniego, lub określonego przez nas w ramach argumentów.

Składnia dla funkcji SQL Server LAG

LAG (scalar_expression [, offset] [, default]) 
[OVER (order_by_clause)]
  • Scalar_expression jest wyrażeniem skalarnym, które określa wartość, którą chcemy porównać.
  • Offset jest opcjonalnym parametrem, który określa, o ile wierszy chcemy porównać.
  • Default jest opcjonalnym parametrem, który określa wartość, która ma zostać zwrócona, jeśli nie ma wiersza do porównania.

Przykład użycia funkcji LAG

SELECT
ProductName,
Price,
LAG(Price, 1, 0) OVER (ORDER BY ProductName) AS PreviousPrice
FROM
Products

W tym przykładzie funkcja LAG porównuje cenę produktu z ceną poprzedniego produktu. Jeśli nie ma poprzedniego produktu, zostanie zwrócona wartość 0.

Jak może wyglądać przykład na bazie AdventureWorks?

SELECT UnitPrice,
LAG(UnitPrice,1,2) OVER (ORDER BY ProductId) AS PreviousPrice
FROM [AdventureWorks2016_EXT].[Sales].[SalesOrderDetail] s;
MSSQL LAG – wartość z poprzedniego rekordu

Leave a comment

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

%d bloggers like this: