成人免费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)。

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

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

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

[[374457]]

 

窗口函數剖析

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

 

  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沒什么不同。注意,輸出的順序要仔細考慮

 

 

[[374458]]

 

示例:集合函數VS窗口函數

假設我們有如下這個表格:

 

如果要按性別獲取平均GPA,可以使用聚合函數并運行以下查詢:

 

 

  1. SELECT Gender, AVG(GPA) as avg_gpa 
  2. FROM students 
  3. GROUP 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-06 10:33:15

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

區塊鏈

2009-11-05 14:53:54

Visual Stud

2021-10-19 07:27:08

HTTP代理網絡

2020-10-13 18:22:58

DevOps工具開發

2021-04-30 16:23:58

WebRTC實時音頻

2023-09-07 23:52:50

Flink代碼

2022-12-16 09:55:50

網絡架構OSI

2022-02-22 13:20:57

RSA算法加密

2024-12-13 15:29:57

SpringSpringBeanJava

2017-07-06 08:12:02

索引查詢SQL

2018-03-12 14:37:50

區塊鏈比特幣架構

2018-03-23 11:56:09

相似性推薦推薦算法推薦

2024-06-25 12:25:12

LangChain路由鏈

2022-07-18 06:16:07

單點登錄系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产重口老太伦 | 精品一二三| 成人做爰www免费看 午夜精品久久久久久久久久久久 | 亚洲影音先锋 | www久久爱 | 欧美精品一区二区三区蜜桃视频 | 欧美精选一区二区 | 岛国av免费在线观看 | 97国产在线视频 | 亚洲精品粉嫩美女一区 | 天堂av影院 | 亚洲a在线视频 | 成人av一区| 五月婷婷激情 | 欧美中文字幕一区二区 | 亚洲69p | 成人精品视频在线观看 | 欧美日韩一区二区电影 | 99免费 | 黄色在线免费观看视频 | 国产一级片精品 | 黄色av网站在线观看 | 色综合99 | 久久国产免费 | 久久久久国产一区二区三区 | 黄色网址在线免费播放 | 久久国内精品 | 色爱综合网 | 国产东北一级毛片 | 国产三区四区 | 午夜三区 | 美女爽到呻吟久久久久 | 人人天天操 | 国产乱码一区 | 亚洲综合国产精品 | 成人在线精品 | 国产一区二区精品在线观看 | 国产精品永久 | 国产伦精品一区二区三区高清 | 91国语清晰打电话对白 | 成人伊人 |