我有一个包含以下列的表格:
communication_id
| communication_date
| company_id
| customer_id
| salesperson_id
| medium
| is_incoming
| is_outgoing
|communication_text
communication_id
表格的粒度在哪里,medium
可以是 等值phone
,是销售人员角度的沟通方向的指标列sms
。如果销售人员发送通信,我们将有一个 0和一个 1 。is_incoming
is_outgoing
is_incoming
is_outgoing
所以,给定一个customer_id
order by communication_date
,我有那个客户和他们的销售人员之间的交流信息。如果我看到销售人员有 2 次传入通信,然后与该客户有 1 次传出通信,那么我们的规则/推理是将传出通信标记为回复,依此类推。按照这个逻辑,只有is_outgoing
通信才能被回复。所以,我认为我需要做的是建立一个is_salesperson_reply
列,指示通信是否是回复。我认为也有帮助的还有communication_id
他们正在回复的通信的 assalesperson_replied_to_communication_id
以及该通信的时间戳 as salesperson_replied_to_at
。
我要写的是一个选择查询,它输出销售人员沟通的摘要;我已经能够创建一个表格,其中包含每个销售人员以及通信总数、发送总数和接收总数。我现在想模拟他们做出的回复数量,也许是他们回复时所花费的平均时间。
我有一种感觉,我可能需要使用该array_agg
函数或一些花哨的case
语句,但我不确定如何。任何帮助表示赞赏!