1. 程式人生 > >Grouping 運算子

Grouping 運算子

Grouping 運算子
需要得到小計值和合計值時
在這裡插入圖片描述

這樣的操作麻煩,而且開銷大
因此引入了Grouping 運算子
①Rollup
②Cube
③Grouping Sets

Rollup:
在這裡插入圖片描述
Rollup 就是一次計算出不同聚合鍵的組合結果

比較下面使用Rollup和不使用時結果的區別
在這裡插入圖片描述

在這裡插入圖片描述
多了五行結果
一個是總合計值,4個是每種型別的小計值
說明Rollup 即歸納的意思,逐層向上歸納
讓Null更加容易分辨
Grouping 函式可以分辨出返回的null 是合計值時的歸納項null 還是資料中的值為null ,當歸納項為null時返回1
在這裡插入圖片描述

Cube(立方體)
Cube的用法和Rollup一樣
在這裡插入圖片描述


結果很容易發現Cube就是將聚合鍵中所有組合可能集中到一個結果中的功能 2的n次方 個組合結果(n為聚合鍵)

Grouping Sets 取得期望的積木
之前的Cudeshi 根據聚合鍵取得所有組合的結果,如果不希望取得 合計記錄和使用兩個聚合鍵的記錄 使用Grouping Set
在這裡插入圖片描述
一般使用會Rollup,Grouping Sets 很少使用了