with rollup语句的作用【SQL】

with rollup通常是与group by一起使用的。group by通过指定一个或多个列,对查询结果进行分组。

例如:

select A, B, count(*) as C
from........... ............
group by A, B
with rollup;

注意这里使用的聚合函数为count(*)。结尾进一步说明。

此例中 with rollup 作用:

对在分组基础上的查询结果进行汇总处理。之所以是汇总处理,是因为聚合函数是count(*)。

与不加with rollup相比,多了几行:

ABC
A的一个字段值,假设是A1NULLA= A1的行数
A的一个字段值,假设是A2NULLA= A2的行数
A的一个字段值,假设是AnNULLA= An的行数
NULLNULL总行数

说明:

1.A字段有n种字段值,就多n+1行。
2.所产生的汇总行中,对应具有不同列值的字段值写为NULL。以上表中,A= A1时,B有很多种列值,所以写为NULL。
3.若group by只对一个字段分组,例如group by A,那么就只多一行,内容为:NULL | 总数
4.若聚合函数是avg(),如avg(X) as C,那么with rollup就是对分组里的所有内容求平均值,C就是平均值。如果是count(*),C就是总数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值