繁体   English   中英

复杂的Sql查询逻辑

[英]Complicated Sql Query Logic

我有一个问题需要在mysql中解决。 我正在使用MYSQL工具。 我处理呼叫中心消息日志。 假设我有一个与Message_Replies对应的表。 它的列是'id','responder','timestamp'。 响应者可以有两个值: - 'agent','user'。带有responder ='agent'的条目是我们的代理回复的条目,而responder ='user'的条目是用户回复的条目。

Say we have a sequences of messages like this:- User, Agent, User, User, Agent, User, User, Agent, User, Agent.

我想得到这张票的平均响应时间。 理想的方法是通过'user'获取第一个消息时间戳,然后通过'agent'获取第一个消息时间戳nd减去此时间戳以获得响应时间。 接下来首先输入'用户'和下一个第一个'代理'条目并获得他们的时间差异。 即如果两个继续回复来自'用户'那么我必须通过'用户'进行第一次回复并获得'代理'的下一个第一个回复,并获得他们的时差。 我没有得到如何获得用户的第一个回复的时间差异和代理的下一个第一个回复。

有什么建议么??

您可以在下面尝试1.创建一个临时表,让我们说t1并使用select查询将数据插入到其中,其中responder = user,其中包含最小时间戳和按消息id分组。 2.创建另一个临时表t2,使用select查询将数据插入其中,其中responder = agent具有最大时间戳,并按消息3的id分组。现在使用join和date subtraction获取消息的响应时间(ticket)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM