0

我有客户来电的数据。我想在每个日期都有活动的两个日期之间获得这些客户。他们每天至少进行一项活动。我尝试了以下查询。

以下是查询:

select date_id , count (distinct customer_id) from usage_analysis 
where usage_direction_type_id = 1
and date_id => 20130608 and date_id <= 20130612
group by date_id 

返回:

DATE_ID         COUNT
----------------------------
20130608        23451
20130609        9878
20130610        56122   
20130611        7811
20130612        12334

但我想获得每个群体中常见的客户。可能会发生在 6 月 8 日打电话的人在第二天不存在的情况。所以我只想要那些存在于每个组中的客户。

知道谁能在 SQL 中做到这一点吗?

4

2 回答 2

3

您可以计算每个客户的不同日期。只有具有五个不同日期的客户才能通过测试。以下提供客户名单:

select customer_id
from usage_analysis 
where usage_direction_type_id = 1 and
      date_id >= 20130608 and date_id <= 20130612
group by customer_id
having count(distinct date_id) = 5
于 2013-06-18T11:01:40.487 回答
0

@Gordon Linoff 的回答应该适合您的情况。当您尝试 2 天时,您是否确保将计数值从 5 更改为 2?

于 2013-06-18T16:02:55.307 回答