题解 | #2021年11月每天的人均浏览文章时长#
2021年11月每天的人均浏览文章时长
https://www.nowcoder.com/practice/8e33da493a704d3da15432e4a0b61bb3
select date_format(in_time,"%Y-%m-%d") dt, round(sum(timestampdiff(second,in_time,out_time))/count(distinct uid),1) avg_viiew_len_sec from tb_user_log where date_format(in_time,"%Y-%m") = '2021-11' and artical_id != 0 group by dt order by avg_viiew_len_sec
代码难度不大,但是有很多细节要注意一下。
- 一名用户可以在同一天内多次浏览同一篇文章因此在计算平均浏览时长时要找出有几个人浏览了文章,使用count(distinct uid)统计
- 文章id为0则表示没有点击,这段时长时不能计算在内的要事先排除掉
查看8道真题和解析