我正在处理一个请求,以计算以下日期桶的表中唯一注册成员的数量(基于registration_date_utc - timestamp),
1月1日-3月31日:唯一注册会员数量
2月1日-4月30日:唯一注册会员数量
3月1日-5月31日:唯一注册会员数量
4月1日至6月30日:唯一注册会员数量
5月1日-7月31日:独立注册会员数量
6月1日-8月31日:唯一注册会员数量
7月1日-9月30日:唯一注册会员数量
8月1日-10月31日:唯一注册会员数量
9月1日-11月30日:唯一注册会员数量
10月1日-12月31日:唯一注册会员数量
下面是我的Snowflake查询,它可以工作,但没有返回任何结果,
select
DATE_TRUNC('month',t.registration_date_utc) as "MONTH_START",
count(distinct t.MEMBER_ID)
FROM
(
select
member_id,
registration_date_utc
from table a
) as t
WHERE TO_DATE(t.registration_date_utc) BETWEEN DATEADD(month,'3',t.registration_date_utc) AND t.registration_date_utc
group by 1
order by 1;发布于 2020-03-04 16:53:35
在START_DATE和END_DATE之间,日期条件将始终为false
select
DATE_TRUNC('month',t.registration_date_utc) as "MONTH_START",
count(distinct t.MEMBER_ID)
FROM
(
select
member_id,
registration_date_utc
from table a
) as t
--WHERE TO_DATE(t.registration_date_utc) BETWEEN DATEADD(month,'3',t.registration_date_utc) AND t.registration_date_utc
WHERE TO_DATE(t.registration_date_utc) BETWEEN t.registration_date_utc AND DATEADD(month,'3',t.registration_date_utc)
group by 1
order by 1;发布于 2020-03-04 20:46:07
您想要计算三个月的独立访问者。一种方法是扩展计数表:
SELECT DATE_TRUNC('month', t.registration_date_utc) + v.offset * INTERVAL '1 month') as MONTH_START,
COUNT(DISTINCT t.MEMBER_ID)
FROM t CROSS JOIN
(VALUES (0), (1), (2)) v(offset)
GROUP BY 1
ORDER BY 1;https://stackoverflow.com/questions/60521344
复制相似问题