
很多用我们客服系统的朋友都有类似的需求:想统计客服的回复效率。 比如,最近就有客户问我:“能不能帮忙查一下,我名下每个客服,超过一分钟没回复的消息,各有多少条?” 听到这个需求,我第一反应是:这个功能很具体,很定制化,不太适合直接做到系统的通用后台里。 为什么?今天就跟大家聊聊我的思路,并且分享一个我实际解决问题的“野路子”——自己写脚本查数据库。你会发现,很多看似复杂的需求,用这个方法都能轻松搞定。
vx: llike620
gofly.v1kf.com
所以,我的建议是:对于这类定制化、高灵活性的统计需求,最好的办法是自己写个脚本去查数据库。
我们的数据都存在数据库里,只要理清表结构,一句SQL就能搞定。下面我拆解一下思路。
我们系统里,所有的聊天记录都放在一张叫 message的表里。先看看它有哪些重要字段(都有中文注释,很清晰):
客服账号:是谁在处理。 访客ID:是谁在咨询。 消息内容:聊了啥。 创建时间:这个最重要,用来判断消息发了多久。 消息类型:标记这条消息是 “客服” 发的,还是 “访客” 发的。 已读状态:标记是 “已读” 还是 “未读”。 企业ID:这条消息属于哪个公司(一个企业可能有多个客服子账号)。 客户要的是:“超过一分钟没回复的访客消息数量”。翻译成数据库查询语言就是:
理解了这个,SQL就非常简单了。如果要查整个企业的总数,可以这样写:
SELECT COUNT(*) FROM message WHERE 企业ID = '你的企业ID' AND 消息类型 = '访客' AND 已读状态 = '未读' AND 创建时间 < DATE_SUB(NOW(), INTERVAL 1 MINUTE);
如果想看每个客服的详细数据,那就加个分组:
SELECT 客服账号, COUNT(*) as 未及时回复数 FROM message WHERE 企业ID = '你的企业ID' AND 消息类型 = '访客' AND 已读状态 = '未读' AND 创建时间 < DATE_SUB(NOW(), INTERVAL 1 MINUTE) GROUP BY 客服账号;
看,核心就是这两句SQL。思路清晰了,查询本身并不复杂。
SQL写好了,怎么用呢?我通常用Python写一个简单的脚本文件(不用担心,即使你不会Python,现在用AI也能分分钟生成)。这个脚本的作用就是:
你可以手动运行这个脚本,也可以把它设置成定时任务(比如每10分钟跑一次),这样就能定期获取最新的统计数据了。 这种方式的好处是:
所以,下次当你有一个特殊的统计需求,而系统后台恰好没有时,别急着说“系统不支持,实现不了”。不妨先看看数据库里有没有这些数据,然后尝试用这个思路解决问题。 很多时候,答案就在数据里,而你只需要一把正确的钥匙(SQL)去打开它。这把钥匙,我可以帮你配,你自己也可以学会使用。