我有一个包含以下列的表格:
communication_id
| communication_date
| company_id
| customer_id
| salesperson_id
| medium
| is_incoming
| is_outgoing
| communication_text
其中communication_id
是表的粒度,medium
可以是诸如phone
,sms
等的值。is_incoming
和is_outgoing
在销售人员的角度来看,是沟通方向的指示器列。如果销售员发送通信,则is_incoming
的数字为0,is_outgoing
的数字为1。
因此,给定customer_id
订购的communication_date
,我得到了该客户与其销售人员之间的交流信息。如果我看到销售人员有2个传入通信,然后有1个传给该客户的传出通信,则我们的规则/推论是将该传出通信标记为答复,依此类推。按照这种逻辑,只有is_outgoing
个通信可以被答复。因此,我认为我需要做的是建立一个is_salesperson_reply
列,该列指示通信是否是答复。我认为将他们正在回复的通信的communication_id
也显示为salesperson_replied_to_communication_id
并将其时间戳记为salesperson_replied_to_at
也将是有帮助的。
我要写的是一个选择查询,该查询输出销售人员交流的摘要;我已经能够创建一个表格,其中包含每个销售人员以及通讯的总数,发送的总数和收到的总数。我现在想对他们做出的答复数量以及他们做出答复的平均时间进行建模。
我感觉可能需要使用array_agg
函数或一些奇特的case
语句,但是我不确定如何使用。任何帮助表示赞赏!