首先你需要有个定义本地外地号码的字段,然后是否需要展示没有通话记录的号码,需要的话下面的sql改成left join并且右表取值需要做一下判空处理,不需要的话就可以直接用了
select
id,name,phone,
sum(case when type='in' then 1 else 0 end) cnt_in,
sum(case when type='out' then 1 else 0 end) cnt_out,
sum(case when iflocal='1' then 1 else 0 end) cnt_local,
sum(case when iflocal='0' then 1 else 0 end) cnt_nonlocal,
sum(case when type='in' then input_time else 0 end) alltime_in,
sum(case when type='out' then input_time else 0 end) alltime_out
from userlist a join phonelist b
on a.phone=b.phone group by a.phone;
补充一下,b表的通话时间如果不是统计的int型分钟数的话,可能你还需要转换一下
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…