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

4分鐘了解什么是SQL窗口函數(shù)

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

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

什么是窗口函數(shù)/分析函數(shù)?

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

但是窗口函數(shù)又與普通的聚合函數(shù)不同,它不會對結(jié)果進(jìn)行分組,使得輸出中的行數(shù)與輸入中的行數(shù)相同。

[[374457]]

 

窗口函數(shù)剖析

一個窗口函數(shù)大概看起來是這樣:

 

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

這里有3點(diǎn)需要牢記:

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

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

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

 

 

[[374458]]

 

示例:集合函數(shù)VS窗口函數(shù)

假設(shè)我們有如下這個表格:

 

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

 

 

  1. SELECT Gender, AVG(GPA) as avg_gpa 
  2. FROM students 
  3. GROUP BY Gender 

結(jié)果如下:

 

下一步是關(guān)鍵!

現(xiàn)在我們想得到如下結(jié)果:

 

我們當(dāng)然可以用我們剛剛提到的聚合函數(shù),然后再將結(jié)果join到初始表,但這需要兩個步驟。

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

 

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

通過上面的查詢,我們正在按性別對數(shù)據(jù)進(jìn)行劃分,并計(jì)算每種性別的平均GPA。然后,它將創(chuàng)建一個稱為avg_gpa的新列,并為每行附加關(guān)聯(lián)的平均GPA。

窗口函數(shù)的優(yōu)點(diǎn)

 

 

 

簡單

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

快速

這一點(diǎn)與上一點(diǎn)相關(guān),使用窗口函數(shù)比使用替代方法要快得多。當(dāng)你處理成百上千個千兆字節(jié)的數(shù)據(jù)時(shí),這非常有用。

多功能

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

結(jié)語

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

責(zé)任編輯:華軒 來源: MarTechCareer
相關(guān)推薦

2021-01-06 10:33:15

SQL數(shù)據(jù)庫函數(shù)

2009-11-02 18:07:58

Oracle數(shù)據(jù)庫

2021-05-17 20:13:50

數(shù)倉操作型數(shù)據(jù)庫

2024-05-13 09:28:43

Flink SQL大數(shù)據(jù)

2020-07-07 07:57:45

數(shù)據(jù)倉庫

2018-05-06 16:26:03

關(guān)聯(lián)規(guī)則數(shù)據(jù)分析關(guān)聯(lián)規(guī)則推薦

2018-03-12 21:31:24

區(qū)塊鏈

2021-10-19 07:27:08

HTTP代理網(wǎng)絡(luò)

2009-11-05 14:53:54

Visual Stud

2020-10-13 18:22:58

DevOps工具開發(fā)

2021-04-30 16:23:58

WebRTC實(shí)時(shí)音頻

2022-12-16 09:55:50

網(wǎng)絡(luò)架構(gòu)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

單點(diǎn)登錄系統(tǒng)

2018-03-12 14:37:50

區(qū)塊鏈比特幣架構(gòu)

2018-03-23 11:56:09

相似性推薦推薦算法推薦

2024-06-25 12:25:12

LangChain路由鏈
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 在线国产一区 | 欧美精品综合 | 久久精品久久久久久 | 国产美女精品视频 | 国产一区二区在线免费观看 | 国产成人精品午夜 | 91视频观看 | 国产精品不卡一区二区三区 | 国产 日韩 欧美 在线 | 国产资源在线观看 | 欧美久久一区 | 免费性视频 | 欧美aa在线| 欧美久久一区 | 久久网亚洲 | 91一区二区三区 | 一区二区视频免费观看 | 一级看片免费视频囗交动图 | 精品视频一区二区三区四区 | 成人在线免费网站 | 久久亚洲一区 | 中文在线一区二区 | 亚洲国产欧美在线人成 | 日韩午夜精品 | 国产最新视频在线 | 亚洲一区二区三区在线 | 一级无毛片 | 精品国产一区二区三区在线观看 | 在线观看免费观看在线91 | 亚洲精品视频在线播放 | 久久久国产亚洲精品 | 亚洲一区二区三区在线 | 精品日韩一区 | 国产专区在线 | 欧美一区二区三区视频 | 免费国产视频在线观看 | 日韩免费一区 | 久久久久久久久久久高潮一区二区 | 精品久久久久久国产 | 中文字幕精品一区二区三区精品 | 亚洲精选一区二区 |