函式說明:
grouping sets
在乙個 group by 查詢中,根據不同的維度組合進行聚合,等價於將不同維度的 group by 結果集進行 union all
cube
根據 group by 的維度的所有組合進行聚合
rollup
是 cube 的子集,以最左側的維度為主,從該維度進行層級聚合。
--結果:grouping_sets, cube, rollupgrouping 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
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...