GROUPING_ID的應用
這是計算分組級別的函式。僅當指定了 GROUP BY 時,GROUPING_ID 才能在 SELECT
語法
GROUPING_ID (
GROUPING_ID
比較 GROUPING_ID () 與 GROUPING ()
GROUPING_ID (
聚合的列 |
GROUPING_ID (a, b, c) 輸入 = GROUPING(a) + GROUPING(b) + GROUPING(c) |
GROUPING_ID () 輸出 |
---|---|---|
a |
100 |
4 |
b |
010 |
2 |
c |
001 |
1 |
ab |
110 |
6 |
ac |
101 |
5 |
bc |
011 |
3 |
abc |
111 |
7 |
GROUPING_ID () 的技術定義
每個 GROUPING_ID 引數都必須是 GROUP BY 列表的一個元素。GROUPING_ID () 返回一個 integer 點陣圖,其最低 N 位可能為文字。文字 bit 表明對應引數不是給定輸出行的分組列。最低順序 bit 對應於引數 N,第 N-1 個最低順序 bit 對應於引數 1。
GROUPING_ID () 等效項
對於單個分組查詢,GROUPING (
例如,以下語句是等價的:
SELECT GROUPING_ID(A,B)
FROM T
GROUP BY CUBE(A,B)
SELECT 3 FROM T GROUP BY ()
UNION ALL
SELECT 1 FROM T GROUP BY A
UNION ALL
SELECT 2 FROM T GROUP BY B
UNION ALL
SELECT 0 FROM T GROUP BY A,B
----以上來源:http://msdn.microsoft.com/zh-cn/library/bb510624.aspx
等價測試:
select grouping_id('a','b')
from dual
group by cube('a','b')
SELECT 3 FROM dual GROUP BY ()
UNION ALL
SELECT 1 FROM dual GROUP BY 'a'
UNION ALL
SELECT 2 FROM dual GROUP BY 'b'
UNION ALL
SELECT 0 FROM dual GROUP BY 'a','b'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16860121/viewspace-713678/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分析函式 - GROUPING_ID函式
- Oracle OCP(13):GROUPING & GROUPING_ID & GROUP_ID & GROUPING SETSOracle
- SAP BTP MTA 應用的應用場景
- 棧的應用
- DirectSound的應用
- 包的應用
- set 的應用
- QlikView的應用View
- PCMCIA的應用
- Decorator 的應用
- 反射的應用反射
- 2.3 應用程式容器中的應用程式概述
- golang RPC 應用(1) :net/rpc的應用GolangRPC
- Windbg在應用層除錯漏洞時的應用除錯
- 基於應用程度的系統應用優化優化
- java的應用1Java
- java的應用2Java
- Promise的基本應用Promise
- Service Worker的應用
- python的應用Python
- 表單的應用
- Calendar 類的應用
- string 的應用
- Mysql profile 的應用MySql
- 字典樹的應用
- 應用卡的原因
- js/jquery的應用JSjQuery
- requestWindowFeature()的應用
- 框架應用的思考框架
- 理想的應用框架框架
- Canvas類的應用Canvas
- Java反射的應用Java反射
- 維模型的應用模型
- ORACLE 命令的應用Oracle
- 框架應用的利弊框架
- Git的基本應用Git
- 實用的位運算應用
- 【Numpy應用】--對於圖片處理的機器學習庫的應用機器學習