ROLLUP CUBE GROUP BY的使用區別

2021-07-05 02:58:43 字數 860 閱讀 4084

1、rollup:

根據維度在資料結果集中進行的聚合操作,可多維度

select count(*) num,month(register_time) times,`status`  from `user`  group by times,`status` with rollup;
使用rollup多維度聚合操作可以,高效率的查出(個人需求):每個月有多少有效使用者、無效使用者及總使用者量。

維度分析:注:

第一維度(group by後的第乙個屬性)不當單獨為空;不支援order by

引用說明:

select

empid

,custid

,year

(orderdate

)year

,sum

(qty

)sum 

from

rollup 

group by empid

,custid

,year

(orderdate

) with rollup

;其中(null,null,null)表示最後的聚合

(empid,custid,year)表示對這3列進行分組的聚合結果

(empid,custid,null)表示對(empid,custid)兩列進行分組的聚合結果

(empid,null,null)表示僅對(empid)一列進行分組的聚合結果

2、cube  mysql版本不支援

this version of mysql doesn't yet support 'cube'

3、group by在多維度查詢中,效率低,需要遍歷表多次

可參閱:

ROLLUP CUBE GROUP BY的使用區別

1 rollup 根據維度在資料結果集中進行的聚合操作,可多維度 select count num,month register time times,status from user group by times,status with rollup 使用rollup多維度聚合操作可以,高效率的查...

記憶體的使用 棧區 堆區 靜態區 唯讀區

記憶體的使用感覺好亂啊,需要整理一下!於是參考c primer與網上資源,整理如下 一 綜述 記憶體中的棧區分配的是區域性變數和函式的引數值的空間,棧的生長方向是從高往低的 堆區是向上增長的用於分配程式設計師申請的記憶體空間 比如new 申請的動態記憶體 注意它與資料結構中的堆是兩回事,分配方式倒是...

堆區的使用

define crt secure no warnings include include includeint getspace for int i 0 i 5 i return p void test01 手動在堆區建立的資料,要手動釋放 free p p null 注意 如果主調函式中沒有給指...