Определить впервые посетителя в Снежинка - PullRequest
0 голосов
/ 30 марта 2020

Итак, скажем, у меня следующая структура таблицы:

VisitorID  Date
Kristin    `2020-03-01`
Kristin    `2020-03-05`
Kristin    `2020-03-07`
PL         `2020-03-07`
Mithil     `2020-03-06`
Kristin    '2020-03-02`

Пользователь Кристин впервые заходит на страницу 1 марта 20 года. Мне нужен запрос, чтобы мы могли пометить его как 1. В следующий раз, когда Кристин посещает, он всегда должен быть помечен 0. Под флагом я подразумеваю новый столбец, который будет указывать, является ли пользователь новым посетителем или нет.

Я пытался использовать Row_number в Snowflake, но не могу сгруппировать по дате и идентификатору посетителя.

select 
    date, 
    visitorid, 
ROW_NUMBER() OVER (ORDER BY visitorid asc) AS row_number 
from PRODUCT_VISITS_UNIQ

1 Ответ

3 голосов
/ 30 марта 2020

Может как то так?

select visit_date, name,
IFF((ROW_NUMBER() OVER (PARTITION BY name ORDER BY visit_date asc)) = 1, 'First Visit', '') as status
from
values ('2020-02-01','Hakan'),
('2020-02-01','Gokhan'),
('2020-02-02','Cenk'),
('2020-02-03','Gokhan'),
('2020-02-04','Cenk') p (visit_date, name)
...