如题,聊天数据表的结构大概为 【自增id, 角色ID , 时间, 对象ID, 聊天内容】,怎么找出10分钟内私聊了5个人以上的角色呀??或者node.js有没有类似做数据分析的包
如果是指定某个10分钟范围,说个可能性能一般的语句。。 select fuid, count(*) as count from (select fuid, tuid from 聊天数据表 group by fuid, tuid 时间范围语句你自己搞定) tmp group by fuid having count >= 5
如果是哪个10分钟都行的话。。。
“十分钟内” 这个条件,貌似SQL比较难搞。。
这个问题一下子想着查所有满足条件的用户感觉比较困难,可以考虑先算出某一个用户10分钟内私聊了5个人以上就比较简单了,如果满足条件就把数据存到中间表,去重。但是用户量很大的话这种方法可能就不好用了,可能需要专业的数据分析工具了。
时间/(10*60*1000)后,两种情况 1、对值取整,group by 时间,判断在10分钟单位内,统计和多少角色聊天, 2、对值进行四舍五入后,group by 时间,10分钟单位时间内,和多少角色聊天, 可能有疏漏
来自酷炫的 CNodeMD
循环每条记录 看看 这条记录+5分钟内 同一个人的聊天人数