常用使用场景: 统计某个月(某个时间区间)内每一天的数据量
-
select date_add(curdate(), interval(cast(help_topic_id as signed integer) - 1) day) day
-
-
where help_topic_id < day(last_day(curdate()))
-
![[MySQL]获取当月每一天 [MySQL]获取当月每一天](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTlwYldjdFlteHZaeTVqYzJSdWFXMW5MbU51THpJd01UZ3hNVEEyTVRFME1qVTVNek0yTG5CdVp6OTRMVzl6Y3kxd2NtOWpaWE56UFdsdFlXZGxMM2RoZEdWeWJXRnlheXgwZVhCbFgxcHRSblZhTTNCdldsYzFibUZIVm5Ca1Iyc3NjMmhoWkc5M1h6RXdMSFJsZUhSZllVaFNNR05JVFRaTWVUbHBZa2M1Ymt4dFRucGFSelIxWW0xV01Fd3hTbXhhV0d4c1dIYzlQU3h6YVhwbFh6RTJMR052Ykc5eVgwWkdSa1pHUml4MFh6Y3c=)
延伸用法: 获取一段时间内的每分钟
-
set @stime = str_to_date('2018-11-07 08:00', '%Y-%m-%d %H:%i');
-
set @etime = str_to_date('2018-11-07 08:10', '%Y-%m-%d %H:%i');
-
-
select date_add(@stime, interval (cast(help_topic_id as signed integer) - 0) minute) minute
-
-
where help_topic_id <= timestampdiff(minute, @stime, @etime)
-
![[MySQL]获取当月每一天 [MySQL]获取当月每一天](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTlwYldjdFlteHZaeTVqYzJSdWFXMW5MbU51THpJd01UZ3hNVEEzTURreE9EQTBOalV6TG5CdVp6OTRMVzl6Y3kxd2NtOWpaWE56UFdsdFlXZGxMM2RoZEdWeWJXRnlheXgwZVhCbFgxcHRSblZhTTNCdldsYzFibUZIVm5Ca1Iyc3NjMmhoWkc5M1h6RXdMSFJsZUhSZllVaFNNR05JVFRaTWVUbHBZa2M1Ymt4dFRucGFSelIxWW0xV01Fd3hTbXhhV0d4c1dIYzlQU3h6YVhwbFh6RTJMR052Ykc5eVgwWkdSa1pHUml4MFh6Y3c=)
顺便贴一下oracle的写法
-
select trunc(sysdate, 'MM') + rownum - 1 day
-
-
connect by rownum <= to_number(to_char(last_day(sysdate), 'dd'))
![[MySQL]获取当月每一天 [MySQL]获取当月每一天](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTlwYldjdFlteHZaeTVqYzJSdWFXMW5MbU51THpJd01UZ3hNVEEyTVRFME5ERTJORGN4TG5CdVp6OTRMVzl6Y3kxd2NtOWpaWE56UFdsdFlXZGxMM2RoZEdWeWJXRnlheXgwZVhCbFgxcHRSblZhTTNCdldsYzFibUZIVm5Ca1Iyc3NjMmhoWkc5M1h6RXdMSFJsZUhSZllVaFNNR05JVFRaTWVUbHBZa2M1Ymt4dFRucGFSelIxWW0xV01Fd3hTbXhhV0d4c1dIYzlQU3h6YVhwbFh6RTJMR052Ykc5eVgwWkdSa1pHUml4MFh6Y3c=)
原文地址:https://blog.csdn.net/reeye_/article/details/83655477