【发布时间】:2020-10-03 10:11:33
【问题描述】:
我必须计算过去两年(2019 年和 2020 年)每天的活跃用户总数。 我有日期、电子邮件和上次访问列。 如果 last_visit > current day - 90,则活动用户处于活动状态。 我遇到的第一个问题是我不知道如何告诉 SQL 我今天是什么日子。我尝试使用日期列,但它带来了错误和与以前相同的行数:
WITH users_list as
(SELECT SUBSTRING([agent_email], CHARINDEX('@', [agent_email])+1, LEN([agent_email])) AS DOMAIN,
SUBSTRING(last_visit, 1, +10) as _date,
VS.agent_email,
VS.last_visit,
vs.agent_license_type,
vs.custom_templic
FROM test.visitor AS VS
WHERE VS.id NOT LIKE '%@rule.com'
AND VS.agent_company NOT LIKE '%Rule%'
AND last_visit> _date - 90
GROUP BY VS.agent_email,
VS.last_visit,
vs.agent_license_type,
vs.custom_templic
第二个问题我不知道如何计算 2019 年和 2020 年活跃用户的滑动总数。我用这个脚本试过:
SELECT _date,
count (agent_email)
over(order by _date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) as number_of_active_users
FROM users_list
但它也会带来错误。
【问题讨论】:
-
请用您正在运行的数据库标记您的问题:mysql、oracle、sqlserver...?答案很可能是特定于供应商的。
-
它是 Amazon Redshift。标签已添加。
标签: sql amazon-redshift