MySQL实战基础知识入门(11):简单高效的筛选最近7日每天数据统计的方式解决echarts每日交易量柱图

  1. 见:《MySQL实战基础知识入门(10):今天、昨天、近7天、近30天在一个筛选语句内实现的解决方案
    上文是时间段的数据合计统计;
  2. 见《MySQL实战基础知识入门(3):近7日销量合计php后端mysql语句如果当日为空则自动补0的解决方案
    上文是最近七日每日的分别统计。

如果只是为了7天,写那么字段也就算了。但是遇见了统计30天内每天的数据时,是不是哭了呢?

新的MYSQL筛选语句:

        $sql = "select DATE_FORMAT(a.paid_at,'%Y-%m-%d') as dataKey,ifnull(COUNT(a.id),0) AS totalTrans,ifnull(SUM(a.should_paid),0) AS totalPays,b.uniacid,b.dpopen from " . $db->table('orders') . " AS a, " . $db->table('set_basic') . " AS b WHERE a.paid_at <> '' AND a.uniacid = b.uniacid";
        $sql .= " GROUP BY DATE_FORMAT(a.paid_at,'%Y-%m-%d') ORDER BY a.paid_at DESC LIMIT 7";
        $row = $db->queryall($sql);
        $res["data"] = $row;
        die(json_encode_lockdata($res));

解析:
一、按照每日的日期作为分组的依据进行SUM统计;

DATE_FORMAT(a.paid_at,'%Y-%m-%d') as dataKey

二、限制显示数量

ORDER BY a.paid_at DESC LIMIT 7

三、调整显示方式
由于是按照时间降序排列,在echarts使用过程中,X轴需要加入反转参数

 inverse: true,

Done!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漏刻有时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值