我有一个问题要解决在MySQL中。我正在使用MYSQL工具。我处理呼叫中心消息日志。假设我有一个对应于Message_Replies的表。它的列是'id','responder','timestamp'。响应者可以有两个值: - 'agent','user'。responder ='agent'的条目是我们的代理人回复的条目,而responder ='user'的条目是用户回复的条目。复杂的SQL查询逻辑
Say we have a sequences of messages like this:- User, Agent, User, User, Agent, User, User, Agent, User, Agent.
我希望得到平均响应时间为这张票。理想的方式是通过'user'获取第一个消息时间戳,然后通过'agent'获取第一个消息时间戳,并减去此时间戳以获取响应时间。接下来获得'用户'的第一个条目和'代理'的下一个第一个条目,并获得他们的时间不同。即如果两个继续回复来自'用户',那么我必须通过'用户'来获得第一个回复,并获取下一个'代理人'的第一个回答,并获得他们的时间差。我没有得到如何获得用户首次回复的时间差和代理的下一首答复。
有什么建议?
每个记录是否也有时间戳?这听起来像是一个空白和孤岛问题。 –
我看起来你的表错过了(至少)一个字段,可以正确聚焦到**对话**。我的意思是,您的表似乎存储了许多用户和许多代理之间的对话(此外,单个代理可能与多个用户进行主动对话)。 – FDavidov
这对于样本数据和期望的结果来说会更清楚。 –