SQL Querty Борьба - как рассчитывать пользовательские логины в день для каждого пользователя - PullRequest
0 голосов
/ 10 октября 2019

В базе данных Snowflake есть таблица пользовательских транзакций с метками времени в форме (отметка времени, электронная почта пользователя, имя события), как показано ниже:

enter image description here

Теперь я хотел бы получить счетчик логина пользователя за день, сгруппированный по дате, пользователю, как показано

enter image description here

I 'Мы настроили следующий запрос, чтобы получать логины на пользователя в день ...

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

При этом я получаю список логинов для каждого пользователя для каждого дня в выбранном диапазоне дат. Теперь я просто хочу посчитать их как сеансы для каждого пользователя на каждый день, как показано во второй таблице выше.

1 Ответ

1 голос
/ 10 октября 2019

Это то, что вы ищете?

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;
...