1、rollup:根據維度在資料結果集中進行的聚合操作,可多維度
select count(*) num,month(register_time) times,`status` from `user` group by times,`status` with rollup;
使用rollup多維度聚合操作可以,高效率的查出(個人需求):每個月有多少有效使用者、無效使用者及總使用者量。
維度分析:注:第一維度(group by後的第乙個屬性)不當單獨為空;不支援order by
表示最後的聚合及總數-無維度;
表示5月註冊的總人數-times是維度;
表示5月的有效使用者的人數-times、status是維度
引用說明:
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 注意 如果主調函式中沒有給指...