mysql以小时,天,周,月为单位查询
背景
基本上要做数据统计分析的程序,都会涉及到类似这种按周,按月,按年,按自定义时间查询区间数据的需求。刚好今天写了这个代码,把整个思路及mysql语句整理下,供以后参考。

group by存在的问题
如果按照group by的查询,则会出现这种漏数据的情况:如果这段连续时间内,有某天没有数据,则会跳过那天的数据,直接统计到下个有数据的日期,此时会出现数据统计不完全、丢数据、数据对应不上的情况
group by 查询sql
select
count(order_number) orderNum ,
count(distinct customer_id) customerNum,
sum(money) totalMoney,
date(date_format(create_time, '%Y-%m-%d')) as thisweek
from
os_order_form
where
date(date_format(create_time, '%Y-%m-%d')) >= date(subdate(curdate(), date_format(curdate(), '%w') - 1)

本文介绍了如何在MySQL中以小时、天、周、月为单位进行数据查询,解决group by可能产生的数据丢失问题。提供了一种高效、优雅的解决方案,包括创建视图以方便进行不同时间单位的查询。
最低0.47元/天 解锁文章
6321

被折叠的 条评论
为什么被折叠?



