SQL 解鎖 - OVER()

SQL 解鎖 - OVER()

DigNo Ape-avatar-img
發佈於SQL
更新於 發佈於 閱讀時間約 2 分鐘

OVER() 子句是Window Function的核心組成部分,用於在查詢結果集中定義一個「窗口」,使聚合函數或排名函數能夠在不改變原始數據結構的情況下,對特定資料進行計算。常搭配PARTITION BY將數據劃分成多個分群(類似GROUP BY,但不改變資料的結構、粒度),讓Window Function只在各自的分區內運行。


raw-image


▌MS SQL SERVER 建立範例資料表

raw-image


▌SUM() + OVER ()

1. 計算薪資總額

2. 累計薪資

3. 計算部門內薪資總額

raw-image



▌排名

1. ROW_NUMBER() 為每行生成唯一的行號,按照指定排序。

2. RANK() 為每行生成排名,重複值有相同排名,後續排名會跳號。

3. DENSE_RANK() 與 RANK() 類似,但後續排名不跳號。

raw-image



▌AVG() & COUNT()

- 使用 AVG() 計算部門內平均薪資

- 使用 COUNT() 計算部門內員工數

raw-image



▌PERCENT_RANK() : 計算每個員工在其部門內的薪資 百分比 排名。

raw-image


▌CUME_DIST(): 計算每個員工在其部門內的薪資累積 分布

raw-image


▌NTILE(n): 將每個部門的員工薪水劃分為n等分。

raw-image


▌VAR & STDEV 計算每個部門內薪資的變異數和 標準差 。

raw-image


以下為本 練習題 的檔案(持續增加中),想拿資料作練習的朋友可以點下單連結,下載連結會寄至您提供的Email喔! 目前資源都是免費的,當然也歡迎您輸入金額小額贊助我們喔!

SQL 練習題 - Payhip



謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!也歡迎Follow我的ThreadsFB,持續追蹤生產力工具、商業分析、商業英文的實用範例,提升自己的職場力喔!

avatar-img
DigNo Ape 數遊原人
49會員
122內容數
我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。
留言
avatar-img
留言分享你的想法!
DigNo Ape 數遊原人 的其他內容
我們先前介紹了SQL中如何根據指定的條件來篩選資料,僅返回符合條件的結果。本篇我們來討論於MS SQL Server 聚合函數(Aggregate Functions) ,用於對數據進行匯總計算,適合分析銷售總額、平均利潤等。
SQL 中的 Index 是什麼? 加了以後會有什麼影響? 想像你在讀一本厚厚的小說,裡面有幾百頁。如果你想要找到某個關鍵情節,比如「主角第一次登場的地方」,如果你沒有做任何標記,你可能得從頭到尾翻書,直到找到那一頁為止,這樣會花很多時間。 ▌Index 就像書籤一樣
上一篇我們介紹了SQL基本架構和語法,如何用簡單的SELECT 和 FROM 撈取資料。本篇我們來討論,如何根據指定的條件來篩選資料,僅返回符合條件的結果。
我們先前介紹了SQL中如何根據指定的條件來篩選資料,僅返回符合條件的結果。本篇我們來討論於MS SQL Server 聚合函數(Aggregate Functions) ,用於對數據進行匯總計算,適合分析銷售總額、平均利潤等。
SQL 中的 Index 是什麼? 加了以後會有什麼影響? 想像你在讀一本厚厚的小說,裡面有幾百頁。如果你想要找到某個關鍵情節,比如「主角第一次登場的地方」,如果你沒有做任何標記,你可能得從頭到尾翻書,直到找到那一頁為止,這樣會花很多時間。 ▌Index 就像書籤一樣
上一篇我們介紹了SQL基本架構和語法,如何用簡單的SELECT 和 FROM 撈取資料。本篇我們來討論,如何根據指定的條件來篩選資料,僅返回符合條件的結果。