Theme NexT works best with JavaScript enabled

ShunNien's Blog

不積跬步,無以致千里;不積小流,無以成江海。

0%

SQLServer Partition By

Introduction

持續整理。

Conetent

說明

Partition By 引數

將查詢結果集分成幾個資料分割。
視窗函數會分別套用至每個資料分割,並且針對每個資料分割重新開始計算。
引用自德瑞克部落格

撰寫統計分析資料時,時常需要大量的運用子查詢及彙總函式(SUM、AYG、COUNT),結合次序函數應用的話,程式碼少了許多,也較好維護。

1
2
3
4
5
6
7
8
9
SELECT
Project.PrjStartDay
,Project.PrjEndDay
,SUM(Updateuid) OVER (PARTITION BY PrjStatus) AS 'Total'
,AVG(Updateuid) OVER (PARTITION BY PrjStatus) AS 'Avg'
,COUNT(Updateuid) OVER (PARTITION BY PrjStatus) AS 'Count'
,MIN(Updateuid) OVER (PARTITION BY PrjStatus) AS 'Min'
FROM dbo.Project
WHERE Project.PrjStatus = 1

Reference

歡迎關注我的其它發布渠道