sql 查询统计最近7天,30天,1年的数据

统计最近7天每天的数据
第一个查询统计了最近7天内,每天创建的’WAIT_SEND’状态的订单数量。这是通过将当前日期向前推移6天(DATE_SUB(CURDATE(), INTERVAL 6 DAY))实现的。然后,它会按照创建日期对结果进行分组(GROUP BY createdTime),并统计每个日期中的订单数量。

SELECT DATE(created_time) AS createdTime, COUNT(merchandise_count) AS count
        FROM t_wellness_order
        WHERE 1=1
        AND created_time >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
        AND t_wellness_order.state = 'WAIT_SEND'
        
        GROUP BY createdTime
        ORDER BY createdTime ASC;

统计最近30天每天的数据
第二个查询与第一个查询类似,但是它统计的是最近30天内,每天创建的’WAIT_SEND’状态的订单数量。这是通过将当前日期向前推移29天(DATE_SUB(CURDATE(), INTERVAL 29 DAY))实现的。

SELECT DATE(created_time) AS createdTime, COUNT(merchandise_count) AS count
        FROM t_wellness_order
        WHERE 1=1
        AND created_time >= DATE_SUB(CURDATE(), INTERVAL 29 DAY)
        AND t_wellness_order.state = 'WAIT_SEND'
        
        GROUP BY createdTime
        ORDER BY createdTime ASC;

统计最近一年每个月的数据
第三个查询与前两个不同,它统计的是最近一年内,每个月创建的’WAIT_SEND’状态的订单数量。这是通过将当前日期向前推移1年(DATE_SUB(NOW(), INTERVAL 1 YEAR))实现的。然后,它会将创建日期格式化为’年-月’(DATE_FORMAT(created_time, ‘%Y-%m’)),并按照这个格式对结果进行分组(GROUP BY createdTime),然后统计每个月的订单数量。

SELECT
            DATE_FORMAT(created_time, '%Y-%m') AS createdTime,
            COUNT(merchandise_count) AS count
        FROM
            t_wellness_order
        WHERE
            1=1
          AND created_time >= DATE_SUB(NOW(), INTERVAL 1 YEAR)
          AND t_wellness_order.state = 'WAIT_SEND'
        
        GROUP BY
            createdTime
        ORDER BY
            createdTime;
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

guochangjin

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

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

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

打赏作者

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

抵扣说明:

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

余额充值