select 
single_date,
round(avg(per_day_time),1) as avg_viiew_len_sec
# round(sum(per_day_time) / count(*),1)
from(
select
uid,
date(in_time) as single_date,
sum(timestampdiff(second,in_time,out_time)) as per_day_time
from tb_user_log
where YEAR(in_time) = 2021 AND MONTH(in_time) = 11 and artical_id != 0
group by uid,date(in_time)
) as subquery
group by single_date
order by avg_viiew_len_sec 

傻瓜解法,先按用户id和日期分组,获取了每天每用户的总浏览时间。

然后再嵌套查询,按照日期分组,计算每天总浏览时间的平均值,得到最终结果。

中间由于忘记了题目要求的artical_id要不等于0的条件,一度卡了几分钟,太弱智了.......