【问题标题】:How to add date condition to my query?如何在我的查询中添加日期条件?
【发布时间】:2015-07-25 13:07:26
【问题描述】:

我有这个 SQL 语句。它有效,我需要添加另一个条件。 我需要按日期对其进行排序。 发生 - 是我的日期行。

SELECT dd.caption, COUNT(t.occurence) 
FROM transaction t 
  INNER JOIN dict_departments dd
    ON dd.id = t.terminal_id
GROUP BY dd.caption

如何添加这个条件:

WHERE t.occurence BETWEEN (CURRENT_DATE() - INTERVAL 1 MONTH)

我的查询。

【问题讨论】:

  • 您使用的是什么 RDBMS?许多相关功能因供应商而异。
  • @PieterGeerkens dbForge Studio for MySql。
  • MySQL - DATE_ADD month interval 的可能重复项

标签: mysql sql


【解决方案1】:

试试这个:

WHERE t.occurrece BETWEEN current_date() AND dateadd(month,1,current_date())

dateadd 函数是一个 SQL SERVER 函数,但该子句的其余部分是标准 SQL。

【讨论】:

  • 我理解你,但如何将它添加到我现有的查询中?
  • 在 MySQL 中使用 DATE_ADD ;)。
【解决方案2】:

BETWEEN 需要两个参数,一个起点和一个终点。如果您的终点是当前时间,您有两种选择:

  1. 使用BETWEEN:

WHERE t.occurence BETWEEN (CURRENT_DATE() - INTERVAL 1 MONTH) AND NOW()

  1. 使用简单的比较运算符:

WHERE t.occurence >= (CURRENT_DATE() - INTERVAL 1 MONTH)

【讨论】:

    【解决方案3】:

    如果您想过滤从 1 个月前到现在的日期:

    WHERE (t.occurrece BETWEEN DATE_ADD(CURDATE(), INTERVAL -1 MONTH) AND CURDATE()) = 1
    

    WHERE (t.occurrece BETWEEN ADDATE(CURDATE(), INTERVAL -1 MONTH) AND CURDATE()) = 1
    

    【讨论】:

      猜你喜欢
      • 2021-09-19
      • 2019-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多