间隔开放者数量大于

时间:2017-01-04 11:21:02

标签: mysql sql

所以我使用interspire作为简报,我想从列表13,18和24中的成员中提取电子邮件,这些电子邮件打开电子邮件的次数超过5次。 Interspire有一个段功能,允许我为不止一次打开的人创建一个段,这就是SQL:

select distinct 
    `email_list_subscribers`.`emailaddress` AS `emailaddress` 
from 
    (`email_list_subscribers` join `email_stats_emailopens`) 
where 
    ((`email_stats_emailopens`.`subscriberid` = `email_list_subscribers`.`subscriberid`) 
    and (`email_list_subscribers`.`listid` = 18))

这个,抓住在列表18上打开广告系列的所有用户,这样我就可以创建一个细分受众群。

但我想做的是提取在这3个列表上打开超过5次的用户 13,18,24

我做了这个小sql但需要很长时间才能执行,我必须在20分钟后停止它:

SELECT email_stats_emailopens.subscriberid
  FROM email_stats_emailopens ,
email_list_subscribers
 GROUP BY email_stats_emailopens.subscriberid
HAVING COUNT(email_stats_emailopens.subscriberid) > 3
limit 1

任何人都知道怎么做?我对sql不太满意。

1 个答案:

答案 0 :(得分:0)

如果我理解你的话,这应该会给你你想要的东西:

SELECT
    EO.subscriberid 
FROM 
    email_list_subscribers S
INNER JOIN email_stats_emailopens EO
ON S.subscriberid = EO.subscriberid
where  S.listid IN (13,18,24)
GROUP BY EO.subscriberid  , S.listid
HAVING COUNT(1) > 5

如果这不符合您的需求,请告诉我。