微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – MySQL从日期开始的当前和上一个月的第一天和最后一天(没有时间戳)

我希望以下查询将给你的想法我正在寻找 –
SELECT SUM(t1.hours) AS totalhours FROM
(
    SELECT (time_to_sec(timediff(time_out,time_in)) / 3600) AS hours FROM bb_work_log 
    WHERE user_id = 6 AND (working_date BETWEEN '2014-04-01' AND '2014-04-31')
) AS t1

在我的查询中,您可以看到我手动给出的working_date.但是,我不想手动做.我想动态地选择当月的第一天和最后一天.

您可以使用LAST_DAY(Now() – INTERVAL 1 MONTH)INTERVAL 1 DAY,将从现在起减去一个月,并在上个月的LAST_DAY中加1天将会提供当月的第一天
SELECT SUM(t1.hours) AS totalhours FROM
(
    SELECT (time_to_sec(timediff(time_out,time_in)) / 3600) AS hours FROM bb_work_log 
    WHERE user_id = 6 
    AND (working_date BETWEEN LAST_DAY(Now() - INTERVAL 1 MONTH) 
    AND LAST_DAY(Now()))
) AS t1

LAST_DAY(Now() – INTERVAL 1 MONTH) this will give you the last day of
prevIoUs month

First/Last day of Month Fiddle Demo

原文地址:https://www.jb51.cc/php/130357.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐