SQL-запрос - выберите результирующие записи, где значение появляется более 25 раз - PullRequest
0 голосов
/ 29 ноября 2018

У меня правильно работает следующий запрос:

select  o.SubscriberKey , o.JobID,  CAST(o.EventDate AS Date) AS 'OpenDate'
FROM _Open o
where o.IsUnique = 1 and (o.EventDate between 'Jun 06 2018' and 'Dec 06 2018')
GROUP BY o.SubscriberKey , o.JobID, o.EventDate

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

1 Ответ

0 голосов
/ 29 ноября 2018

Использовать оконные функции:

select o.*
from (select o.SubscriberKey, o.JobID, CAST(o.EventDate AS Date) AS OpenDate,
             count(*) over (partition by  o.SubscriberKey) as cnt
      from _Open o
      where o.IsUnique = 1 and (o.EventDate between 'Jun 06 2018' and 'Dec 06 2018')
      group by o.SubscriberKey, o.JobID, o.EventDate
     ) o
where cnt >= 25
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...