我有一张表格,其中列出了潜在客户,他们的活动和他们的销售代表。每个客户最多可以有1个销售代表。我建立了一个汇总表,其中汇总了客户活动,将其按销售代表分组,并按客户创建日期进行过滤。这不是一个队列(customers
并不都与scheduled_flights
相对应,而是在给定时间段内的活动快照)看起来像这样:
现在,除了客户总数之外,我还想输出一系列实际客户。目前,customers
字段是通过执行sum(is_customer) as customers
然后按销售代表分组来计算的。为了构建数组,我尝试做array_agg(customer_name)
,该命令输出所有客户名称的列表-我只需要满足is_customer = 1
条件的名称列表,但我不能将其用作where子句,因为它会过滤掉其他活动,例如针对新客户的预定航班和已完成航班。
答案 0 :(得分:2)
这可能应该起作用:
array_agg(case when is_customer = 1 then customer_name end) within group (order by customer_name)
雪花应该忽略聚合中的NULL
值。