用户消息表统计问题

borened 1月前 111

问题描述

需要按机器人id,按时间范围统计有多少用户跟机器人发过消息,或者历史全量统计。

当前方案

 select  replace(`_target`,'|robotId','') as from1, t.*  from t_user_messages_35 t
where _type =0 and  _uid ='robotId'
最新回复 (8)
  • borened 1月前
    引用 2
    目前问题:统计结果不对,数值偏大,问下正确的统计sql应该如何写。
  • borened 1月前
    引用 3
    select count(distinct t1.from1)  from (select  replace(`_target`,'|fsk_careapp_xiaofu','') as from1, t.*  from t_user_messages_62 t
    where _type =0 and  _uid ='fsk_careapp_xiaofu' )  t1
  • borened 1月前
    引用 4
    t_user_messages_62 表有没有字段可以区分是谁发给谁的?我只需要统计用户发给机器人的消息。看了target字段的规则,目前是区分不了。
  • HeavyRain 1月前
    引用 5
    只从t_user_messages_x表中是无法区分是收的消息还是发的消息,还需要和t_messages_y表进行联表查询
  • borened 1月前
    引用 6
    HeavyRain 只从t_user_messages_x表中是无法区分是收的消息还是发的消息,还需要和t_messages_y表进行联表查询
    具体怎么联表呢?t_messages_y是按月分割的,而我需要统计所有的。有没有其他实现方案。
  • HeavyRain 1月前
    引用 7
    一共36张表,可以统计36次
  • borened 1月前
    引用 8
    HeavyRain 一共36张表,可以统计36次
    下下策。。。
  • HeavyRain 1月前
    引用 9
    或者创建一张记录表,每到月底计算一下历史数据,这样以后只查当月和记录表也行
返回