zoukankan      html  css  js  c++  java
  • ROLLUP、CUBE、GROUP BY的使用区别

    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在多维度查询中,效率低,需要遍历表多次

  • 相关阅读:
    ValueStack、ActionContext
    s debug
    1923: [Sdoi2010]外星千足虫
    1013: [JSOI2008]球形空间产生器sphere
    HDU 3923 Invoker
    poj 1286 Necklace of Beads
    HDU 3037:Saving Beans
    2440: [中山市选2011]完全平方数
    1101: [POI2007]Zap
    1968: [Ahoi2005]COMMON 约数研究
  • 原文地址:https://www.cnblogs.com/adolfmc/p/12060793.html
Copyright © 2011-2022 走看看