【问题标题】:How to count the visits of the last 7 days in MySQLMySQL如何统计最近7天的访问量
【发布时间】:2021-01-23 20:51:34
【问题描述】:

我有一个捕获用户访问的示例表

User|Visit|Date--
Mike|01|1/9/2020--
Mike|01|3/9/2020--
Mike|01|10/9/2020--
John|01|12/9/2020--
John|01|20/9/2020--
Carl|01|16/9/2020--
Carl|01|18/9/2020--
Carl|01|20/9/2020

我想创建一个 MySQL 查询,以便它捕获 example 表中的所有字段/行并创建一个附加列“last 7Days”。在本专栏中,我们的想法是汇总用户过去 7 天的所有访问次数。

我正在寻找的结果是这样的

【问题讨论】:

标签: mysql sql date count window-functions


【解决方案1】:

您可以将窗口功能与range 一起使用 看看这个

select t.*, 
  sum(visit) over (partition by user order by `Date` 
    range between interval + 7 day preceding and current row  ) -1 as x
from t

Fiddle

【讨论】:

  • @Dacar:如果此答案正确回答了您的问题,请点击复选标志accept it
【解决方案2】:

你可以用ADDDATE()函数做到这一点

$sql = 'SELECT count(Visit) FROM your_table_name WHERE Date BETWEEN ADDDATE(NOW(),-7) AND NOW()'

【讨论】:

  • 使用 COUNT 或 SUM 函数
  • SQL 中的ADDDATE() 函数
猜你喜欢
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 1970-01-01
  • 2019-09-14
  • 1970-01-01
相关资源
最近更新 更多