SQL查询其中日期=今天减去7天

新手上路,请多包涵

我有一个名为 ExternalHits 的网站点击量 SQL 表。我将 URL 跟踪为 URLx,将访问页面的日期跟踪为 Datex。我每周运行此查询以获取前一周的总点击次数,并且每周我必须手动更改“介于”日期。有什么方法可以更改我的查询,以便“中间”日期类似于 TODAY 和 TODAY-7?我只是不想每周手动更改日期。

     SELECT URLX, COUNT(URLx) AS Count
    FROM ExternalHits
    WHERE datex BETWEEN '02/27/2017' AND '03/05/2017'
    GROUP BY URLx
    ORDER BY Count DESC;

原文由 Ashley K 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答
declare @lastweek datetime
declare @now datetime
set @now = getdate()
set @lastweek = dateadd(day,-7,@now)

SELECT URLX, COUNT(URLx) AS Count
FROM ExternalHits
WHERE datex BETWEEN @lastweek AND @now
GROUP BY URLx
ORDER BY Count DESC;

原文由 azizj 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于 MariaDB:

 WHERE datex BETWEEN DATE_ADD(CURDATE(), INTERVAL -7 DAY) AND CURDATE()

它帮助到我。

原文由 Josef Večeřa 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进