hive grouping sets 等聚合函式

2022-08-01 21:15:26 字數 1860 閱讀 2309

函式說明:

grouping sets

在乙個 group by 查詢中,根據不同的維度組合進行聚合,等價於將不同維度的 group by 結果集進行 union all

cube

根據 group by 的維度的所有組合進行聚合

rollup

是 cube 的子集,以最左側的維度為主,從該維度進行層級聚合。

--

grouping sets

select

order_id,

departure_date,

count(*) as

cnt

from

ord_test

where order_id=

410341346

group

byorder_id,

departure_date

grouping

sets (order_id,(order_id,departure_date));--

-- 等價於以下

group

byorder_id

union

allgroup

byorder_id,departure_date

--cube

select

order_id,

departure_date,

count(*) as

cnt

from

ord_test

where order_id=

410341346

group

byorder_id,

departure_date

with

cube

;---- 等價於以下

select

count(*) as cnt from ord_test where order_id=

410341346

union

allgroup

byorder_id

union

allgroup

bydeparture_date

union

allgroup

byorder_id,departure_date

--rollup

select

order_id,

departure_date,

count(*) as

cnt

from

ord_test

where order_id=

410341346

group

byorder_id,

departure_date

with

rollup

;---- 等價於以下

select

count(*) as cnt from ord_test where order_id=

410341346

union

allgroup

byorder_id

union

allgroup

by order_id,departure_date

結果:grouping_sets, cube, rollup

C memcpy memmove等記憶體操作函式

返回值 destination 官方說明 複製記憶體塊 將num bytes的值從源指向的位置直接複製到目標指向的記憶體塊。源指標和目標指標指向的物件的基本型別與此函式無關 結果是資料的二進位制副本。函式不檢查源中是否有任何終止的空字元 它總是精確地複製num位元組。為了避免溢位,目標引數和源引數指...

sql中nvl,cast,power等常用函式

1 nvl 表示式1,表示式2 如果1為空,則該函式取表示式2的值 如 b nvl a,0 如果a值為空,b取0 2 nvl 表示式1,表示式2,表示式3 如果1有值,取2,如果1為空,取表示式3的值 總之 如果1為空,都取最後乙個引數的值 3 power用法 power a,b 這是求冪次方,a的...

C 中建立SQLServer的自定義聚合函式

1.建立 使用vs2005的 聚合函式 模板建立,實現以下幾個方法 init 給每個要聚合的新組初始化 accumulate 將每個值聚合 merge 將乙個聚合組的結果新增到當前組中 terminate 返回結果 2.部署 通過vs2005部署自動在sqlserver中建立聚合函式 3.使用 在s...