mysql修饰符_MySQL中GROUP BY修饰符ROLLUP使用

ROLLUP作用:ROLLUP子句实现在GROUP BY分组统计数据基础上再进行汇总统计。

假设有一张product_profit(产品销售利润)表,有id,product_id(产品id),sale_province(销售省份),profit(利润),sale_year(销售年份):

CREATE TABLE `product_profit` (`id` int(11) NOT NULL AUTO_INCREMENT,`product_id` int(11) NOT NULL COMMENT '产品id',`sale_province` varchar(32) DEFAULT NULL COMMENT '销售省份',`profit` decimal(10,2) NOT NULL COMMENT '利润',`sale_year` int(11) DEFAULT NULL COMMENT '销售年份',PRIMARY KEY (`id`)) ;

先看一下表中数据

SELECT * FROM `product_profit`;

这里要注意最后一行(id=13行),产品id为26的产品,profit列为900,sale_year和sale_province列值都是NULL。

单字段分组

统计每年利润

SELECT`sale_year`,SUM( `profit` ) `profit`FROM`product_profit`GROUP BY`sale_year`;

46ecf5bc176c0f966ef700f4433ab62f.png

既统计每年利润,也统计总利润

SELECT`sale_year`,SUM( `profit` ) `profit`FROM`product_profit`GROUP BY`sale_year` WITH ROLLUP;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值