探討視窗框架(window frames)
除了 PARTITION BY 與 ORDER 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;
我們會依需求指定 ROWS 或 RANGE,決定要包含個別列,還是某個值的範圍。我們會指定「preceding」子句,說明在目前列之前要納入多少列(或什麼值的範圍)。也會指定「following」子句,說明要從目前列往後納入哪些內容。
本練習屬於課程
