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

聊聊SQL中的分組集

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
分組集類(lèi)似于Excel的透視圖,可以對(duì)各類(lèi)數(shù)據(jù)進(jìn)行組內(nèi)計(jì)算,這里不止可以進(jìn)行數(shù)量統(tǒng)計(jì),也可以進(jìn)行求和,最大最小值等操作。是我們?cè)谶M(jìn)行數(shù)據(jù)分析時(shí)候經(jīng)常使用到的一組功能。?

分組集的定義

是多個(gè)分組的并集,用于在一個(gè)查詢中,按照不同的分組列對(duì)集合進(jìn)行聚合運(yùn)算,等價(jià)于對(duì)單個(gè)分組使用"UNION ALL",計(jì)算多個(gè)結(jié)果集的并集。

分組集種類(lèi)

SQL Server的分組集共有三種 GROUPING SETS, CUBE, 以及ROLLUP, 其中 CUBE和ROLLUP可以當(dāng)做是GROUPING SETS的簡(jiǎn)寫(xiě)版

GROUPING SETS

GROUPING SETS子句允許你指定多個(gè)GROUP BY選項(xiàng)。增強(qiáng)了GROUP BY的功能。

可以通過(guò)一條SELECT語(yǔ)句實(shí)現(xiàn)復(fù)雜繁瑣的多條SELECT語(yǔ)句的查詢。并且更加的

高效,解析存儲(chǔ)一條SQL于語(yǔ)句

GROUP SETS示例

我們以Customers表為例,其內(nèi)容如下:

圖片圖片

我們先分別對(duì)城市和省份進(jìn)行分組,統(tǒng)計(jì)出他們的數(shù)量

SELECT 城市,NULL 省份,COUNT(城市) FROM Customers
GROUP BY 城市
UNION ALL
SELECT NULL,省份,COUNT(省份) FROM Customers
GROUP BY 省份

結(jié)果為:

圖片圖片

再使用GROUPING SETS來(lái)統(tǒng)計(jì)

SELECT 
城市,
省份,
COUNT(客戶ID) 數(shù)量
FROM Customers
GROUP BY GROUPING SETS (城市,省份)

結(jié)果如下

圖片圖片

其實(shí)上下兩個(gè)結(jié)果是一樣的,只是UNION ALL不排序,而GROUPING SETS增加了排序。這樣不僅減少了代碼,而且這樣的效率會(huì)比UNION ALL的效率高。通常GROUPING SETS使用在組合分析中。

ROLLUP

ROLLUP也是GROUPING SETS的一種簡(jiǎn)略寫(xiě)法,我們舉例說(shuō)明。

我們先使用GROUPING SETS的多層組合

SELECT 
省份,
城市,
COUNT(1) 數(shù)量
FROM Customers
GROUP BY GROUPING SETS (
省份,(省份,城市)
)

其結(jié)果為:

圖片圖片

我們使用ROLLUP可以這樣寫(xiě)

SELECT 
省份,
城市,
COUNT(客戶ID) 數(shù)量
FROM Customers
GROUP BY 省份,城市 WITH ROLLUP

其結(jié)果為:

圖片圖片

我們來(lái)解讀一下ROLLUP的作用,其作用是對(duì)每個(gè)列先進(jìn)行一次分組,并且對(duì)第一列的數(shù)據(jù)在每個(gè)組內(nèi)還進(jìn)行一次匯總,最后對(duì)所有的數(shù)據(jù)再進(jìn)行一次匯總,所以相比GROUPING SETS會(huì)多了個(gè)所以數(shù)據(jù)的匯總。這個(gè)在對(duì)組內(nèi)進(jìn)行聚合時(shí)是經(jīng)常使用到的。

CUBE

而CUBE相比ROLLUP就更多一個(gè)維度了,我們還是距離說(shuō)明。

SELECT 
省份,
城市,
COUNT(客戶ID) 數(shù)量
FROM Customers
GROUP BY 省份,城市 WITH CUBE

結(jié)果如下:

圖片圖片

在ROLLUP的基礎(chǔ)上,還會(huì)將第一列每組的匯總數(shù)據(jù)額外顯示在最后。

總結(jié)

分組集類(lèi)似于Excel的透視圖,可以對(duì)各類(lèi)數(shù)據(jù)進(jìn)行組內(nèi)計(jì)算,這里不止可以進(jìn)行數(shù)量統(tǒng)計(jì),也可以進(jìn)行求和,最大最小值等操作。是我們?cè)谶M(jìn)行數(shù)據(jù)分析時(shí)候經(jīng)常使用到的一組功能。


責(zé)任編輯:武曉燕 來(lái)源: SQL數(shù)據(jù)庫(kù)開(kāi)發(fā)
相關(guān)推薦

2021-09-03 06:46:34

SQL分組集功能

2021-08-31 07:54:24

SQLDblink查詢

2021-11-09 06:55:03

SQLServer排序

2023-08-29 09:46:12

SQLCTE遞歸

2022-08-03 08:11:58

數(shù)據(jù)測(cè)試同類(lèi)型

2021-08-16 08:12:04

SQLMerge用法

2022-10-17 08:22:28

2023-06-05 08:36:04

SQL函數(shù)RANK()

2023-10-26 08:38:43

SQL排名平分分區(qū)

2022-07-27 08:31:28

SQL開(kāi)發(fā)控制

2023-11-09 11:56:28

MySQL死鎖

2024-04-26 00:00:00

Rust檢查器代碼

2021-11-17 08:11:35

MySQL

2021-11-10 18:52:42

SQL技巧優(yōu)化

2021-08-16 06:56:21

Slice數(shù)組類(lèi)型內(nèi)存

2022-04-02 08:14:02

JavaThreadLoca數(shù)據(jù)

2021-12-11 19:00:54

Java中斷機(jī)制

2021-10-30 19:56:10

Flutter按鈕 Buttons

2022-05-11 09:01:54

Swift類(lèi)型系統(tǒng)幻象類(lèi)型

2021-03-08 00:11:02

Spring注解開(kāi)發(fā)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 精品一区二区三区四区外站 | 男女爱爱网站 | 一区二区成人 | 精品国产欧美在线 | 国产欧美一区二区精品忘忧草 | 亚洲乱码国产乱码精品精98午夜 | 国产91在线观看 | 亚洲欧美视频在线观看 | 91视频网址| 亚洲精品v | 色妹子综合网 | 亚洲网站在线播放 | 91中文字幕在线观看 | 久久成人精品视频 | 一区二区三区视频在线观看 | 一区二区三区久久 | 国产精品久久影院 | 免费视频成人国产精品网站 | 亚洲一区二区在线播放 | 最新国产视频 | 成人国产精品久久 | 一区中文 | 亚洲久草 | 亚洲区在线 | 亚洲成a人片 | 国产激情在线 | 国产视频中文字幕 | 桃花av在线 | 日本一卡精品视频免费 | 国产高清免费视频 | 国产成都精品91一区二区三 | 91精产国品一二三区 | 亚洲毛片| 91大片| aa级毛片毛片免费观看久 | 综合色播 | 国产激情片在线观看 | 欧美区日韩区 | 国产一区中文字幕 | 国产精品免费播放 | 久久久综合久久 |