mysql with rollup_MySQL-with rollup函数运用

本文介绍了如何在MySQL中使用GROUP BY WITH ROLLUP函数添加总计行,并详细展示了在总计行显示'总计'字样的过程。通过IFNULL()函数避免了在存在未命名城市时产生多个总计字样。最后,利用ORDER BY FIELD()函数实现按9月金额降序排列,同时确保总计行位于底部。
摘要由CSDN通过智能技术生成

如果想在下面这个表下面添加一行 总计 数据行SQL代码怎么实现 并且根据9月金额进行城市降序 总计置于底部呢

MySQL提供了 group by with rollup 函数进行group by 字段的汇总

但是order by 互斥的不能同时用

13da03234cbe7299e3621a2414633be0.png

第一步还是是先计算各城市每个月的金额

48304ba5e6f9fe08f3fa1abda7d326ab.png

SELECT b.城市,SUM(IF(b.年月=201607,b.金额,NULL)) AS 7月金额,SUM(IF(b.年月=201608,b.金额,NULL)) AS 8月金额,SUM(IF(b.年月=201609,b.金额,NULL)) AS 9月金额

FROM (

SELECT city AS 城市,DATE_FORMAT(order_time,"%Y%m") AS 年月,SUM(pay_money) AS 金额

FROM test_a03order AS a

GROUP BY city,DATE_FORMAT(order_time,"%Y%m")

) AS b

GROUP BY b.城市

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值