Snowflake SQL列出每小时会话计数(按天和小时分组)
我试图从用户事务的雪花表中计算每小时的唯一会话令牌数。 虽然我按日期和小时进行计数和分组,但每天只得到一条结果记录 我的问题是:Snowflake SQL列出每小时会话计数(按天和小时分组),sql,database,data-mining,snowflake-cloud-data-platform,Sql,Database,Data Mining,Snowflake Cloud Data Platform,我试图从用户事务的雪花表中计算每小时的唯一会话令牌数。 虽然我按日期和小时进行计数和分组,但每天只得到一条结果记录 我的问题是: select to_date(EVENT_TIMESTAMP) as SessDate, date_part(hour, current_timestamp()) as SessHour, count(distinct event_data:"u-token") as userTokenCount from APPTRANSACTIONTABLE wh
select to_date(EVENT_TIMESTAMP) as SessDate,
date_part(hour, current_timestamp()) as SessHour,
count(distinct event_data:"u-token") as userTokenCount
from
APPTRANSACTIONTABLE
where
event_timestamp BETWEEN '2020-03-12T00:00:00.00' AND '2020-03-14T23:59:59.59'
group by SessHour, SessDate
order by SessHour, SessDate
但我的结果每天只显示一条记录,而我希望按日期和小时显示结果。
您的datepart()
具有错误的时间戳(当前时间戳
而不是事件时间戳
):
我还建议将WHERE
子句更简单地写为:
where event_timestamp >= '2020-03-12' AND
event_timestamp < '2020-03-15'
where event_timestamp >= '2020-03-12' AND
event_timestamp < '2020-03-15'
select date_trunc('hour', EVENT_TIMESTAMP) as session_day_hour,
count(distinct event_data:"u-token") as userTokenCount
from APPTRANSACTIONTABLE
where event_timestamp >= '2020-03-12' AND
event_timestamp < '2020-03-15'
group by session_day_hour
order by session_day_hour;