Tag Archive: windowing functions

Parę faktów o funkcjach okna cz.1: ROW_NUMBER, RANK, DENSE_RANK i NTILE

TSQLWindowingfunctions_13
Adrian Chodkowski
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Funkcje okna są jednym z błogosławieństw dla deweloperów pracujących z SQL Server. Pozwalają one na osiągnięcie rezultatów, które wcześniej można było uzyskać tylko i wyłącznie poprzez wykorzystanie podzapytań inline czy różnego rodzaju konstrukcji przetwarzających dane wiersz po wierszu jak np. kursory czy pętle. Dziś powiemy sobie parę słów o tym jak działają funkcje ROW_NUMBER, RANK, DENSE_RANK oraz NTILE wraz z modyfikacjami klauzuli OVER. Funkcja ROW_NUMBER jak sama nazwa wskazuje daje nam możliwość ponumerowania wierszy według określonych kryteriów. Sama składnia jest bardzo prosta – na poniższym przykładzie widzimy najprostsze jej zastosowanie (samo zapytanie numeruje wiersze poczynając od tych wierszy, gdzie pole…
Read more

Funkcje LAG i LEAD w TSQL

LagAndLeadInTSQL_00
Adrian Chodkowski
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

SQL Server 2012 przynosił ze sobą wiele użytecznych zmian. Jednymi z moich ulubionych funkcji wprowadzonych w tamtej wersji są LAG i LEAD, które pokrótce chciałbym opisać w ramach niniejszego posta – zapraszam! Zapewne wielu z Was zna bardzo dobrze funkcje okna takie jak RANK czy ROW_NUMBER – mógłbym również zaryzykować tezę, iż funkcje te większość z Was lubi i używa – tutaj właśnie pojawia się pierwsza dobra wiadomość! LAG i LEAD również są funkcjami okna! Co za tym idzie wymagają aby użyć składnika OVER(ORDER BY) i pozwalają odnosić się (tak jak wskazuje nazwa) do wiersza poprzedzającego i następującego po  bieżącym…
Read more