【问题标题】:MySQL from last specific month上一个特定月份的 MySQL
【发布时间】:2019-07-02 12:23:17
【问题描述】:

我有墨粉数据库。我只需要从每年最后一个 9 月到当前日期得到结果。

SELECT * FROM used_toners WHERE date >= '01-09-2018' # but after september of 2019 I need date '01-09-2019' and so on

【问题讨论】:

  • “每年最后一个九月”是什么意思?
  • 如果今年已经是九月,则返回今年九月。如果是 9 月之前,去年 9 月返回。

标签: mysql sql date


【解决方案1】:

通过这个查询,我选择了从去年九月到今年九月的所有日期范围。

SELECT *
FROM used_toners
WHERE (YEAR(`date`) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR))
    AND MONTH(`date`) BETWEEN 9 AND 12)
OR (YEAR(`date`) = YEAR(CURRENT_DATE())
    AND MONTH(`date`) BETWEEN 1 AND 9)

在这里您可以找到MONTH()YEAR() documentation

【讨论】:

    【解决方案2】:

    如果您想要所有九月的数据,您可以使用month() 或类似函数:

    SELECT ut.*
    FROM used_toners ut
    WHERE MONTH(date) = 9;
    

    【讨论】:

    • 我想要去年 9 月到现在的数据。每年 9 月的此返回结果。
    猜你喜欢
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    相关资源
    最近更新 更多