以下是我的表格视图,其中存储了销售数据以及客户是否为新客户的详细信息。我正在尝试查找相同的sale_id是否具有针对同一客户的多个条目,并将其标记为新客户。下面给出的是表格的示例视图
cust_id,prod_id,sale_id,is_new_cust,store_type
1,prod_a,1001,t,store
2,prod_a,1002,,online
3,prod_a,1003,t,store
3,prod_a,1003,t,store
我需要找到有多少个具有is_new_cust标记的同一个sale_id客户。
以下是我尝试过的SQL:
select cust_id,count(is_new_cust) from sales
where store_type = 'store' and is_new_cust='t'
group by cust_id having count(is_new_cust)> 1;
预期输出:
cust_id,count
3,2
上面的SQL返回1没有结果。
我正在使用Amazon Redshift DB。
任何人都可以帮助我找到查询哪里出问题了。谢谢。
答案 0 :(得分:0)
我想你想要
select count(distinct cust_id) as num_customers,
count(distinct case when is_new_cust = 't' then cust_id end) as num_new_customers
from sales
where store_type = 'store';
但是,这可能是一个更简单的版本,可以满足您的要求:
select count(*)
from sales
where store_type = 'store' and is_new_cust = 't';
这假定新客户只设置一次is_new_cust
标志。