ROLLUP、CUBE、GROUP BY的使用区别
2024-09-08 15:15:08
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在多维度查询中,效率低,需要遍历表多次
最新文章
- Canvas——使用定时器模拟动态加载动画!
- 关于orapwd命令entries参数的探究
- python表达式操作符【学习python必知必会】
- PHP基础17:日期
- [CODEVS1220]数字三角形
- 编译osg for android
- ZOJ Monthly, June 2014 月赛BCDEFGH题题解
- python 发送安全邮件
- 拥抱大家庭,nodejs走thrift
- POJ1015 &;&; UVA - 323 ~Jury Compromise(dp路径)
- Swiper4.x使用方法
- centos7.5误删python2.7之后,导致yum和Pythonm命令无法使用
- 转 MYSQL InnoDB Record, Gap, and Next-Key Locks
- Java笔记Spring(六)
- Mysql:性能优化
- Python int 中 add abs 方法
- Java入门系列:实例讲解ArrayList用法
- 浅谈js设计模式之代理模式
- linux下淘宝安全控件问题
- Fzu软工第二次作业-词频分析