開始使用免費開始

探討視窗框架(window frames)

除了 PARTITION BYORDER BY 子句之外,視窗函式還可以包含框架(frame),用來告訴資料庫引擎在視窗中要把哪些內容視為相關。

這裡我們會看四種不同的框架,了解結果會有什麼差異。對每個例子,請為以下查詢補上視窗框架:

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;    

我們會依需求指定 ROWSRANGE,決定要包含個別列,還是某個值的範圍。我們會指定「preceding」子句,說明在目前列之前要納入多少列(或什麼值的範圍)。也會指定「following」子句,說明要從目前列往後納入哪些內容。

本練習屬於課程

SQL Server 的時間序列分析

檢視課程

動手互動練習

將理論付諸實踐,立即體驗我們的互動練習

開始練習