DB----按小时统计,小时为空,用0补充

按小时统计,小时为空,用0补充

SQL

SELECT dayHour day, IF(count IS NULL, 0, count) as count FROM (SELECT sum(o.paid_amount) AS count, date_format(o.pay_time,'%H') AS hour
        FROM crm_order o
        where o.pay_time is not null and date_format(o.pay_time, '%Y%m%d') = date_format(NOW(),'%Y%m%d')
        GROUP BY hour ORDER BY 1) A
        RIGHT JOIN (SELECT one.hours + two.hours AS dayHour
        FROM (SELECT 0 hours
            UNION ALL SELECT 1 hours
            UNION ALL SELECT 2 hours
            UNION ALL SELECT 3 hours
            UNION ALL SELECT 4 hours
            UNION ALL SELECT 5 hours
            UNION ALL SELECT 6 hours
            UNION ALL SELECT 7 hours
            UNION ALL SELECT 8 hours
            UNION ALL SELECT 9 hours) one
        CROSS JOIN (SELECT 0 hours
            UNION ALL SELECT 10 hours
            UNION ALL SELECT 20 hours) two
        WHERE (one.hours + two.hours) <![CDATA[ < ]]> 24) B ON A.hour = CONVERT(B.dayHour, SIGNED) ORDER BY day
图表展示

在这里插入图片描述

直接命令运行sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值