sql 查询统计最近7天,30天,1年的数据
2023-12-21 12:19:32
统计最近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;
文章来源:https://blog.csdn.net/guochangjin/article/details/135114277
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!