最新消息: 新版网站上线了!!!

mysql 报表时间统计计算

-- 昨日报:【5】为用户设置的点数,统计从前天五点到昨天五点  
-- beginDate=endDate-24hour: (日报生成当天时间-1day)+(设置点数-24小时)
--                  endDate: (日报生成当天时间-1day)+设置点数

select date_add(CURDATE(), interval -1 day)+ INTERVAL 5-24 hour AS beginDate,date_add(CURDATE(), interval -1 day)+ INTERVAL 5 hour -  interval 1 second AS endDate

-- 上周报:【2】为用户设置的周期,上上周二 0点到本周一 23:59分  
-- 公式:beginDate=endDate-7day: 日报生成当时日期-(日报生成当日周几-1-用户设置的参数)-7day
--                      endDate: 日报生成当时日期-(日报生成当日周几-1-用户设置的参数)-1second

select date_add(CURDATE(), interval -(DAYOFWEEK(CURDATE())-1-2)-7 day) as beginDate,date_add(CURDATE(), interval -(DAYOFWEEK(CURDATE())-1-2) day)-interval 1 second as endDate

-- 上月报:无参数
-- beginDate: 月报生成当前月的第一天 - 1month = 上个月的第一天
--   endDate: 月报生成当前月的第一天 - 1秒    = 上个月的最后一秒

select date_add(curdate(), interval - day(curdate()) + 1 day) - interval 1 month as beginDate,date_add(curdate(), interval - day(curdate()) + 1 day) - interval 1 second as endDate
.....

转载请注明:谷谷点程序 » mysql 报表时间统计计算