如何使用 UNIX_TIMESTAMP 得到最近 7 天之前的 7 天?
How can I get 7 days before last 7 days using UNIX_TIMESTAMP?
我使用下面的代码从名为 registered_at 的 mySQL 字段中获得 return 结果,这样我就可以获得注册的用户该网站最近 7 天运行正常:
andWhere('registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)')
我的问题是我还需要获取过去 7 天前 7 天在网站上注册的用户。逻辑是显示最近 2 周的注册用户,因此接下来我可以输出这 2 周之间的百分比差异,例如:本周用户增加 10%。
我试过类似的方法:
andWhere('registered_at > UNIX_TIMESTAMP((NOW() - INTERVAL 14 DAY) - (NOW() - INTERVAL 7 DAY))')
但没用。
您可以使用:
andWhere('registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 14 DAY)')
andWhere('registered_at < UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)')
这将生成查询,该查询在过去 14 天获得 registered_at
,但在过去 7 天也会获得 trim registered_at
,因此您保持 7-14 天的间隔。
如果我们将其转换为“原始”SQL 查询,它将是:
SELECT
*
FROM
users
WHERE
registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 14 DAY)'
AND registered_at < UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)'
我使用下面的代码从名为 registered_at 的 mySQL 字段中获得 return 结果,这样我就可以获得注册的用户该网站最近 7 天运行正常:
andWhere('registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)')
我的问题是我还需要获取过去 7 天前 7 天在网站上注册的用户。逻辑是显示最近 2 周的注册用户,因此接下来我可以输出这 2 周之间的百分比差异,例如:本周用户增加 10%。
我试过类似的方法:
andWhere('registered_at > UNIX_TIMESTAMP((NOW() - INTERVAL 14 DAY) - (NOW() - INTERVAL 7 DAY))')
但没用。
您可以使用:
andWhere('registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 14 DAY)')
andWhere('registered_at < UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)')
这将生成查询,该查询在过去 14 天获得 registered_at
,但在过去 7 天也会获得 trim registered_at
,因此您保持 7-14 天的间隔。
如果我们将其转换为“原始”SQL 查询,它将是:
SELECT
*
FROM
users
WHERE
registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 14 DAY)'
AND registered_at < UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)'