【问题标题】:How to get Data of last 7 days如何获取最近 7 天的数据
【发布时间】:2019-09-14 13:44:51
【问题描述】:

我正在尝试获取过去 7 天的数据,但我的代码无法正常工作。获取“DATEADD 函数不存在”。

我有这样格式的日期:2019-03-05T10:59:09.2996542+00:00

SELECT *
FROM finaltest1
WHERE CAST(Date AS DATE) > DATEADD(DAY, -7, CAST(GETDATE() AS DATE)) ;

【问题讨论】:

  • 您的列日期是哪种数据类型????

标签: mysql mysql-workbench mysql-python


【解决方案1】:

DATEADD 是 SQL,MySQL 等价于 DATE_ADD(或减去,DATE_SUB)。参数也不同,第一个是日期值,第二个是要添加的时间间隔。另请注意,在 MySQL 中,GETDATE 等价于 CURDATE()。对于您的查询,这应该有效,假设您的 Date 列格式有效:

SELECT *
    FROM finaltest1
    WHERE CAST(Date AS DATE) > DATE_SUB(CURDATE(), INTERVAL 7 DAY)

【讨论】:

  • 它的工作,但我有一个非常大的数据集它工作太慢任何替代。
  • @A500010 这是尽可能简单的。你可以考虑添加一个STOREDgenerated column,其值为CAST(Date AS DATE),然后在其上放置一个索引并在查询中使用它。此外,我不确定 MySQL 是否足够聪明,不会对每一行进行 DATE_SUB 计算;如果您可以将变量设置为该值,例如SET @date = DATE_SUB(CURDATE(), INTERVAL 7 DAY); 然后在 where 子句中使用变量,这也可能加快速度。
猜你喜欢
  • 2020-09-03
  • 2017-08-27
  • 2023-03-27
  • 2020-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多