0

我在 Snowflake DB 中有一个带有时间戳的用户事务表,其形式(时间戳、用户电子邮件、事件名称)如下所示:

在此处输入图像描述

我现在想计算每天的用户登录次数,按日期分组,用户如图所示

在此处输入图像描述

我已经设置了以下查询来获取每个用户每天的登录...

select to_date(TIMESTAMP) as DATE, LOGINID,
   EVENTNAME from MYEVENTTABLE where
EVENTNAME ='Login' and
TIMESTAMP BETWEEN '2019-10-05T00:00:00.00' AND '2019-10-09T23:24:00.00'
order by DATE, LOGINID

有了这个,对于我选择的日期范围内的每一天,我都会得到每个用户的登录列表。现在我只想将这些作为每个用户每天的会话数,如上面第二个表所示。

4

1 回答 1

1

这是你想要的?

select to_date(TIMESTAMP) as DATE, LOGINID,
       count(*)
from MYEVENTTABLE
where eventname ='Login' and
      timestamp >= '2019-10-05' AND 
      timestamp < '2019-10-10'
group by by to_date(TIMESTAMP), LOGINID
order by to_date(TIMESTAMP), loginid;
于 2019-10-10T15:47:42.437 回答