mysql rollup order共用_Mysql 使用with rollup对聚合结果进行聚合

使用的表:

CREATE TABLE `b` (

`eid` INT(11) DEFAULT NULL,

`month` DATETIME DEFAULT NULL,

`sals` DECIMAL(10,2) DEFAULT NULL

) ENGINE=INNODB DEFAULT CHARSET=latin1

当只有一个分组条件的时候,对整个表汇总聚合;

SELECT

DATE_FORMAT(MONTH,'%Y-%m') m,

SUM(sals) s

FROM

b

GROUP BY

DATE_FORMAT(MONTH,'%Y-%m')

WITH ROLLUP

最后多出一行,对每个月份的总额汇总。

当有两个分组条件的时候,对第一个和第二个分组条件聚合,最后再根据第一个分组条件聚合。

SELECT

DATE_FORMAT(MONTH,'%Y-%m'),

eid,

SUM(sals)

FROM b

GROUP BY  DATE_FORMAT(MONTH,'%Y-%m'),eid

WITH ROLLUP

对每个月份的所有员工销售总额求和,最后再把所有月份的总额求和。

with rollup做的聚合与查询得聚合相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值