【问题标题】:take records of the month following the month in progress with mysql用mysql记录下一个月的记录
【发布时间】:2015-10-02 14:25:46
【问题描述】:

我是新环境 mysql 。 我需要知道如何获取数据库中上个月到当月注册的所有记录。

数据库中的列数据格式为 2015-10-02 。 和 ' 有可能让每个人都在 9 月份吗? 我每个月的 15 号做一次这个查询,并记录上个月的记录,大家。

谢谢

【问题讨论】:

    标签: php mysql date


    【解决方案1】:
    SELECT * FROM table
    WHERE YEAR(data) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH)
    AND MONTH(data) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)
    

    感谢@hobodave

    【讨论】:

    • 用那种格式写日期?对我来说,格式 year- mm - dd 不起作用
    • 这是大多数人使用的默认格式。 yyyy-mm-dd。它对我有用。
    • 变量 date 的值是多少?你能把我当成今天去拿九月的记录吗?谢谢
    • 你的意思是变量“数据”。这只是数据库中的列名。就我而言,我的列名是“created_at”。所以我的代码是WHERE YEAR(created_at)...
    • 将我的答案标记为解决方案,将您的问题标记为已解决。所有功劳归于用户@hobodave。
    【解决方案2】:

    无论如何,使用 month() 和 year() 函数获取日期的月份和年份部分,并使用 curdate() 获取当前日期。

    select * from table
    where month(date_field)=if(month(curdate())-1=0,12,month(curdate())-1)
    and year(date_field)=if(month(curdate())-1=0,year(curdate())-1,year(curdate()))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      相关资源
      最近更新 更多