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

  • 相关阅读:
    Android 锁屏 临时屏蔽
    单编译framework相关模块
    02
    pad 强制加载 Hdpi资源 (2.3 dpi < 240)
    设置form的默认按钮
    How to Be a Good Graduate Student
    我怕你们急于求成
    希腊字母读音表
    数据库札记(二)
    Ubuntu 9.04下jdk的安装与配置
  • 原文地址:https://www.cnblogs.com/adolfmc/p/12060793.html
Copyright © 2011-2022 走看看