Redshift-查找特定ID的标志出现的次数

时间:2018-09-26 07:29:45

标签: sql count amazon-redshift

我有一些销售数据,显示是否已为客户生成账单。如果已生成帐单,则标为bill_generated的列将返回“ Y”,否则返回空白。我正在尝试查找已为其生成至少一张账单的客户列表。每个cust_id可能有多行,如下所示:

cust_id, bill_generated
001,NULL
001,Y
002,NULL
002,NULL
003,Y

任何人都可以对此提出建议。我正在使用Redshift DB。谢谢。

2 个答案:

答案 0 :(得分:2)

尝试使用分组依据并有条理

select cust_id from tablename
group by cust_id 
having sum(case when bill_generated is null then 0 else 1 end)=1

答案 1 :(得分:1)

您可以使用相关的子查询

select * from t
           where exists (select 1 from t t1 
             where t1.bill_generated='Y' and t1.cust_id=t.cust_id
            )