【问题标题】:Add a time range to query in mysql在mysql中添加查询的时间范围
【发布时间】:2019-12-01 05:33:08
【问题描述】:

我有一个查询可以查看放入数据库的所有内容。我需要对其进行修改,使其仅查看特定时间范围内发生的更改,例如从 Julz the first 到 Julz 31st。

您将在下面找到查询。如果你能告诉我如何修改它,我会很高兴

select
    u.email as writer_email, COUNT(s.id) as numSnips
from
  snippet s
   left join fos_user u on u.id = s.user_id
       group by u.email
       order by numSnips DESC

【问题讨论】:

  • 您的表中是否有带有修改时间戳的列?
  • 没有。如何添加它
  • 请分享表结构、示例数据和预期输出。此外,如果您的表格不包含此类时间信息,您只需添加此类列

标签: mysql sql date-range


【解决方案1】:

如果没有关于表中列的信息,我们无法提供完整的解决方案,但您可以使用 WHERE关键字(假设您有一个名为 last_changed 的列):

select
    u.email as writer_email, COUNT(s.id) as numSnips
from
  snippet s
   left join fos_user u on u.id = s.user_id
       group by u.email
       order by numSnips DESC
where s.last_changed BETWEEN '2019-10-20 00:00:00' AND '2019-10-20 23:59:59'

当然你必须动态生成你需要的日期。

【讨论】:

  • 目前仅有的两列是 writer_email 和 numSnips
  • 那么你想做的事情是不可能的。您首先需要创建一个列并修改插入/编辑这些记录的软件以保存修改日期。当您编辑或插入行时,SQL 不会自动保存。
猜你喜欢
  • 2020-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 2015-06-06
  • 2021-05-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多