Zacznij terazZacznij za darmo

Badanie ramek okna

Oprócz klauzul PARTITION BY i ORDER BY funkcje okna mogą zawierać ramki, które informują silnik bazy danych, co należy uwzględnić w danym oknie.

Przyjrzymy się czterem różnym ramkom, aby zrozumieć, jak wpływają one na wyniki. W każdym przykładzie chcemy uzupełnić ramkę okna w poniższym zapytaniu:

SELECT
    ir.IncidentDate,
    ir.IncidentTypeID,
    SUM(ir.NumberOfIncidents) OVER (
        PARTITION BY ir.IncidentTypeID
        ORDER BY ir.IncidentDate
        << WINDOW FRAME >>
    ) AS NumberOfIncidents
FROM dbo.IncidentRollup ir;    

Wybierzemy ROWS lub RANGE w zależności od tego, czy chcemy uwzględniać poszczególne wiersze, czy zakres wartości. Określimy też klauzulę "preceding", która wskazuje, ile wierszy (lub jaki zakres wartości) chcemy uwzględnić przed bieżącym wierszem, oraz klauzulę "following", która określa, co chcemy uwzględnić od bieżącego wiersza wzwyż.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w SQL Server

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Przekształć teorię w praktykę dzięki jednemu z naszych interaktywnych ćwiczeń

Rozpocznij ćwiczenie