SQL 解鎖 - OVER()

閱讀時間約 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
30會員
57內容數
我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
DigNo Ape 數遊原人 的其他內容
上一篇我們介紹了SQL如何使用指定的條件,搭配的SELECT 和 FROM 來篩選資料。本篇我們來討論,如何將兩個或多個資料表中的資料結合在一起,根據欄位之間的邏輯關係來拼接、合併資料表。
SQL 中的 Index 是什麼? 加了以後會有什麼影響? 想像你在讀一本厚厚的小說,裡面有幾百頁。如果你想要找到某個關鍵情節,比如「主角第一次登場的地方」,如果你沒有做任何標記,你可能得從頭到尾翻書,直到找到那一頁為止,這樣會花很多時間。 ▌Index 就像書籤一樣
上一篇我們介紹了SQL基本架構和語法,如何用簡單的SELECT 和 FROM 撈取資料。本篇我們來討論,如何根據指定的條件來篩選資料,僅返回符合條件的結果。
Snowflake 是一家基於雲端運算的數據庫公司,提供「data warehouse-as-a-service」的雲端數據存儲和分析服務。透過 Snowflake,用戶可以使用雲端硬體和軟體存儲及分析資料。本教學將介紹如何使用 Python 將不同平台上的資料上傳至 Snowflake。
在MS SQL Server 環境下,如何將sales_unpivot (表1)轉成 sales_pivot (表2)? 再將表2轉回表1?
上一篇我們介紹了SQL如何使用指定的條件,搭配的SELECT 和 FROM 來篩選資料。本篇我們來討論,如何將兩個或多個資料表中的資料結合在一起,根據欄位之間的邏輯關係來拼接、合併資料表。
SQL 中的 Index 是什麼? 加了以後會有什麼影響? 想像你在讀一本厚厚的小說,裡面有幾百頁。如果你想要找到某個關鍵情節,比如「主角第一次登場的地方」,如果你沒有做任何標記,你可能得從頭到尾翻書,直到找到那一頁為止,這樣會花很多時間。 ▌Index 就像書籤一樣
上一篇我們介紹了SQL基本架構和語法,如何用簡單的SELECT 和 FROM 撈取資料。本篇我們來討論,如何根據指定的條件來篩選資料,僅返回符合條件的結果。
Snowflake 是一家基於雲端運算的數據庫公司,提供「data warehouse-as-a-service」的雲端數據存儲和分析服務。透過 Snowflake,用戶可以使用雲端硬體和軟體存儲及分析資料。本教學將介紹如何使用 Python 將不同平台上的資料上傳至 Snowflake。
在MS SQL Server 環境下,如何將sales_unpivot (表1)轉成 sales_pivot (表2)? 再將表2轉回表1?
你可能也想看
Google News 追蹤
Thumbnail
我很鼓勵投資人不要只投資台股,對股市有一點熟悉度後,建議範圍擴況大到美股,甚至是投資全球。因為台股僅是單一國家/市場,如果能將資產投資到其他國家,風險會更分散,機會也更多,特別是美國股市。 美股會很難懂嗎?我相信你認識的美國企業可能會比台灣企業多,我從標普500成分股前15大企業裡隨便抓十
Thumbnail
美股因多家熱門話題與龍頭企業市值快速增長受到關注,本文介紹如何透過國泰世華CUBE App 開設台股及美股複委託帳戶、定期理財的便利性。 定期投資適合單筆資金有限、經驗不多的理財小白、上班族,或者忙碌、沒時間研究基本面的朋友,國泰世華CUBE App美股定額投資功能,操作便利性幾乎完勝海外券商。
Thumbnail
這是張老師的第三本書,我想前二本應該也有很多朋友們都有讀過,我想絕對是受益良多,而這次在書名上就直接點出,著重在從投資的角度來切入
Thumbnail
已經存在在table裡面的那些record做更新。 ※ 語法 UPDATE [LOW_PRIORITY] [IGNORE] table_name SET column_name1 = expr1, column_name2 = expr2, … [WHERE
Thumbnail
※ GROUP BY 用於將數據表中的數據按照一個或多個列進行分組。例如在處理一個表格的資料時,可以指定欄位,一個或是多個,然後把將其視為ID進行分組處理。 ※ 語法 SELECT column1, column2, ..., aggregate_function(column) FROM
Thumbnail
※ 什麼是WHERE? 使用 WHERE來設定條件,可以幫助我們縮小查詢結果的範圍,取得想要的結果。 ※ 語法: ※ 解析順序: From:先看是哪一張table→table裡面符合Where指定條件的record→再看Select指定的是那些欄位→再根據那個欄位進行排序。 ※ 使⽤⽅
Thumbnail
※ 什麼是ORDER BY? 可以讓SELECT出來的結果,根據你想要的方式排序。簡單說,用於對查詢結果進行排序。 ※ 語法: SELECT select_list FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC]
Thumbnail
※ 語法 SELECT select_list FROM table_name​ ※ 解析順序 From:從哪裡拿? SELECT:要 "拿什麼" 資料? ※ 使用場景: Single column(單一欄位): Multiple column(多個欄位): All colu
Thumbnail
在進行SQL查詢邏輯更改時,需要適當地使用SubQuery和join來達到新的排序需求。本文將介紹原本的撈取邏輯、需求以及如何使用SubQuery來解決新的排序需求。
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
Thumbnail
在Dcard有人求救一個問題:想要將layer與panel的資料提出出來,如下圖。 這個題目是很經典的需求,就是多條件查找,多條件查找有蠻多種不同的解決方法,甚至版本不同解法也是天壤之別哦。 準備動作 在寫函數之前,記得要先觀察一下我們想要提取的資料有什麼樣的規則,可以發現A欄中只
Thumbnail
我很鼓勵投資人不要只投資台股,對股市有一點熟悉度後,建議範圍擴況大到美股,甚至是投資全球。因為台股僅是單一國家/市場,如果能將資產投資到其他國家,風險會更分散,機會也更多,特別是美國股市。 美股會很難懂嗎?我相信你認識的美國企業可能會比台灣企業多,我從標普500成分股前15大企業裡隨便抓十
Thumbnail
美股因多家熱門話題與龍頭企業市值快速增長受到關注,本文介紹如何透過國泰世華CUBE App 開設台股及美股複委託帳戶、定期理財的便利性。 定期投資適合單筆資金有限、經驗不多的理財小白、上班族,或者忙碌、沒時間研究基本面的朋友,國泰世華CUBE App美股定額投資功能,操作便利性幾乎完勝海外券商。
Thumbnail
這是張老師的第三本書,我想前二本應該也有很多朋友們都有讀過,我想絕對是受益良多,而這次在書名上就直接點出,著重在從投資的角度來切入
Thumbnail
已經存在在table裡面的那些record做更新。 ※ 語法 UPDATE [LOW_PRIORITY] [IGNORE] table_name SET column_name1 = expr1, column_name2 = expr2, … [WHERE
Thumbnail
※ GROUP BY 用於將數據表中的數據按照一個或多個列進行分組。例如在處理一個表格的資料時,可以指定欄位,一個或是多個,然後把將其視為ID進行分組處理。 ※ 語法 SELECT column1, column2, ..., aggregate_function(column) FROM
Thumbnail
※ 什麼是WHERE? 使用 WHERE來設定條件,可以幫助我們縮小查詢結果的範圍,取得想要的結果。 ※ 語法: ※ 解析順序: From:先看是哪一張table→table裡面符合Where指定條件的record→再看Select指定的是那些欄位→再根據那個欄位進行排序。 ※ 使⽤⽅
Thumbnail
※ 什麼是ORDER BY? 可以讓SELECT出來的結果,根據你想要的方式排序。簡單說,用於對查詢結果進行排序。 ※ 語法: SELECT select_list FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC]
Thumbnail
※ 語法 SELECT select_list FROM table_name​ ※ 解析順序 From:從哪裡拿? SELECT:要 "拿什麼" 資料? ※ 使用場景: Single column(單一欄位): Multiple column(多個欄位): All colu
Thumbnail
在進行SQL查詢邏輯更改時,需要適當地使用SubQuery和join來達到新的排序需求。本文將介紹原本的撈取邏輯、需求以及如何使用SubQuery來解決新的排序需求。
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
Thumbnail
在Dcard有人求救一個問題:想要將layer與panel的資料提出出來,如下圖。 這個題目是很經典的需求,就是多條件查找,多條件查找有蠻多種不同的解決方法,甚至版本不同解法也是天壤之別哦。 準備動作 在寫函數之前,記得要先觀察一下我們想要提取的資料有什麼樣的規則,可以發現A欄中只