按月份统计每个月的订单总金额SQL语句解析

一.SQL语句:

select 
            IFNULL(sum(case month(createTime) when '1' then price else 0 end), 0) as 一月份,
            IFNULL(sum(case month(createTime) when '2' then price else 0 end), 0) as 二月份,
            IFNULL(sum(case month(createTime) when '3' then price else 0 end), 0) as 三月份,
            IFNULL(sum(case month(createTime) when '4' then price else 0 end), 0) as 四月份,
            IFNULL(sum(case month(createTime) when '5' then price else 0 end), 0) as 五月份,
            IFNULL(sum(case month(createTime) when '6' then price else 0 end), 0) as 六月份,
            IFNULL(sum(case month(createTime) when '7' then price else 0 end), 0) as 七月份,
            IFNULL(sum(case month(createTime) when '8' then price else 0 end), 0) as 八月份,
            IFNULL(sum(case month(createTime) when '9' then price else 0 end), 0) as 九月份,
            IFNULL(sum(case month(createTime) when '10' then price else 0 end), 0) as 十月份,
            IFNULL(sum(case month(createTime) when '11' then price else 0 end), 0) as 十一月份,
            IFNULL(sum(case month(createTime) when '12' then price else 0 end), 0) as 十二月份
        from `order`
            where year(createTime)=#{year};

二.步骤解析

1.字段createTime 当前系统时间格式为yyyy-MM-dd HH:mm:ss

2.字段price 销售额

3.case month(createTime) when '7' then price else 0 end:获取系统时间的月份,当月份为7月获取7月所有的销售额,若没有销售额销售额则为0;

4.sum(case month(createTime) when '7' then price else 0 end):将7月所有的销售额进行合计;

5.IFNULL(sum(case month(createTime) when '7' then price else 0 end), 0) as 七月份  :

      类似三木运算符,IFNULL(当月总销售额,0),假如销售额不为 NULL,则 IFNULL()   的返回值为当月总销售额 ,否则为0;

      as重用名为‘七月份’;

6.当年每个月销售额效果展示:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值