MySQL中with rollup的使用

使用前提:

1、在使用group by 语句后,可能会对数据再次进行汇总,这个时候就需要with rollup。

2、with rollup 就是作用在聚合函数上的。如果聚合函数是COUNT(*)则会在统计的记录中再次求COUNT(*),如果是AVG(),则会在分组

3、with rollup 作用在聚合函数上

(举例:先按照部门进行分组,再按照性别进行分组。使用with rollup 只作用在使用部门进行分组的表中,对聚合函数起作用)

应用实例:

 要求:根据age进行分组,统计平均薪水和组内成员个数,并对每个组的成员记录总和,

 结尾的4就是对聚合函数COUNT(*)的再次统计,1905.5000则是对每个组平均薪水,再次求平均薪水。

 代码实现

CREATE TABLE IF NOT EXISTS techers(
    id INT,
    age INT,
    `name` VARCHAR(10),
    salary INT 
);

INSERT INTO techers(id,age,`name`,salary)
VALUES (1,22,'王三',2200),
			 (2,23,'梁夏',2000),
			 (3,24,'李杰',2222),
			 (4,25,'王飞',1200);

SELECT *
FROM techers;

SELECT COUNT(*),age,AVG(salary)
FROM techers
GROUP BY age 
WITH ROLLUP;

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值