成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

4分鐘了解什么是SQL窗口函數

數據庫 SQL Server
你也許很熟悉SQL的簡單查詢,比如使用SELECT FROM WHERE GROUP BY這樣的基礎語句,但是如果你想進一步提升自己的SQL技能,你不能不知道窗口函數(Window Function),又被叫做分析函數(Analytics Function)。

 你也許很熟悉SQL的簡單查詢,比如使用SELECT FROM WHERE GROUP BY這樣的基礎語句,但是如果你想進一步提升自己的SQL技能,你不能不知道窗口函數(Window Function),又被叫做分析函數(Analytics Function)。

[[374042]]

什么是窗口函數/分析函數?

窗口函數是類似于可以返回聚合值的函數,例如SUM(),COUNT(),MAX()。

但是窗口函數又與普通的聚合函數不同,它不會對結果進行分組,使得輸出中的行數與輸入中的行數相同。

[[374043]]

 

窗口函數剖析

一個窗口函數大概看起來是這樣:

 

  1. SELECT SUM() OVER(PARTITION BY ___ ORDER BY___) FROM Table 

這里有3點需要牢記:

1. 聚合功能:在上述例子中,我們用了SUM(),但是你也可以用COUNT(), AVG()之類的計算功能

2. PARTITION BY:你只需將它看成GROUP BY子句,但是在窗口函數中,你要寫PARTITION BY

3. ORDER BY:ORDER BY和普通查詢語句中的ORDER BY沒什么不同。注意,輸出的順序要仔細考慮

[[374044]]

 

示例:集合函數VS窗口函數假設我們有如下這個表格:

如果要按性別獲取平均GPA,可以使用聚合函數并運行以下查詢:SELECT Gender, AVG(GPA) as avg_gpaFROM studentsGROUP BY Gender結果如下:

 

 

 

下一步是關鍵!現在我們想得到如下結果:

 

我們當然可以用我們剛剛提到的聚合函數,然后再將結果join到初始表,但這需要兩個步驟。

但如果我們使用窗口函數,我們則可以一步到位,并得到相同的結果:

 

  1. SELECT *, 
  2.   AVG(GPA) OVER (PARTITION BY Gender) as avg_gpa 
  3. FROM table 

通過上面的查詢,我們正在按性別對數據進行劃分,并計算每種性別的平均GPA。然后,它將創建一個稱為avg_gpa的新列,并為每行附加關聯的平均GPA。

窗口函數的優點

 

簡單

窗口函數更易于使用。在上面的示例中,與使用聚合函數然后合并結果相比,使用窗口函數僅需要多一行就可以獲得所需要的結果。

快速

這一點與上一點相關,使用窗口函數比使用替代方法要快得多。當你處理成百上千個千兆字節的數據時,這非常有用。

多功能性

最重要的是,窗口函數具有多種功能,本文并沒有提及這個功能,比如,包括添加移動平均線,添加行號和滯后數據,等等。

結語

讀到這里,你大概對窗口函數有了初步認識。希望本文提及的例子對你理解窗口函數有幫助。總而言之,希望你的SQL可以越來越厲害!

 

責任編輯:華軒 來源: MarTechCareer
相關推薦

2021-01-07 16:50:36

SQL數據庫函數

2009-11-02 18:07:58

Oracle數據庫

2021-05-17 20:13:50

數倉操作型數據庫

2024-05-13 09:28:43

Flink SQL大數據

2020-07-07 07:57:45

數據倉庫

2018-05-06 16:26:03

關聯規則數據分析關聯規則推薦

2018-03-12 21:31:24

區塊鏈

2021-10-19 07:27:08

HTTP代理網絡

2009-11-05 14:53:54

Visual Stud

2020-10-13 18:22:58

DevOps工具開發

2021-04-30 16:23:58

WebRTC實時音頻

2022-12-16 09:55:50

網絡架構OSI

2023-09-07 23:52:50

Flink代碼

2022-02-22 13:20:57

RSA算法加密

2024-12-13 15:29:57

SpringSpringBeanJava

2017-07-06 08:12:02

索引查詢SQL

2022-07-18 06:16:07

單點登錄系統

2018-03-12 14:37:50

區塊鏈比特幣架構

2018-03-23 11:56:09

相似性推薦推薦算法推薦

2024-06-25 12:25:12

LangChain路由鏈
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一级片在线观看 | 天天夜夜操 | 中文字幕在线视频免费观看 | 日日日日日日bbbbb视频 | 91色在线视频| 久久久久久成人网 | 亚洲精品片 | 中文字幕一区二区三区不卡 | 久久久久久综合 | 日韩精品a在线观看图片 | 激情一区二区三区 | 超碰在线免费公开 | 久久国产精品一区二区三区 | 亚洲第一免费播放区 | 99久久精品免费看国产小宝寻花 | 日日夜夜草 | 亚洲精品乱码久久久久久蜜桃91 | 国产精品视频免费看 | 黄片毛片免费观看 | 第一色在线 | 97起碰| 中文字幕精品视频在线观看 | 蜜桃传媒一区二区 | av一级久久 | 国产伦精品一区二区三区精品视频 | 久久1区| 米奇成人网 | 欧美中文字幕一区二区三区 | 成人久久久 | 国产精品一区二区三级 | 人成在线 | 看a网站| 国产综合网址 | 羞羞网站在线观看 | 国产欧美日韩一区二区三区在线 | 欧美国产视频 | 免费观看av | 亚洲永久精品国产 | 黄a在线观看 | av中文字幕在线 | 午夜免费成人 |