gpt4 book ai didi

sql - 如何在条件下使用 array_agg?

转载 作者:行者123 更新时间:2023-12-04 16:28:46 30 4
gpt4 key购买 nike

我有一张表格,其中列出了潜在客户、他们的事件和他们的销售代表。每个客户最多可以有 1 名销售代表。我建立了一个汇总表,在其中汇总客户事件,并按销售代表对其进行分组,并按客户创建日期进行筛选。这不是一个群组(customers 并不都对应于 scheduled_flights ,而是给定时间段的事件快照)它看起来像这样:

enter image description here

现在,除了客户总数之外,我还想输出这些实际客户的数组。 customers字段当前是通过执行 sum(is_customer) as customers 来计算的然后按销售代表分组。为了构建阵列,我尝试做 array_agg(customer_name)输出所有客户名称的列表——我只需要满足条件的名称列表 is_customer = 1 ,但我不能将其用作 where 子句,因为它会过滤掉其他事件,例如为非新客户安排的和已完成的航类。

最佳答案

这应该可以工作:

array_agg(case when is_customer = 1 then customer_name end) within group (order by customer_name)

雪花应该忽略 NULL聚合中的值。

关于sql - 如何在条件下使用 array_agg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56653489/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com