WITH temp AS ( SELECT uid,substr(in_time,1,10) dt,artical_id,in_time,out_time FROM tb_user_log WHERE artical_id<>0 and year(in_time) = 2021 and month(in_time) = 11 ) SELECT dt,ROUND(SUM(TIMESTAMPDIFF(SECOND,in_time,out_time))/COUNT(DISTINCT uid),1) avg_viiew_len_sec FROM temp GROUP BY dt ORDER BY avg_viiew_len_sec;
思路
就需要先对日期处理,后续按照日期分组就好,切记在处理时,这只需要计算11月份的,所以只需要拿出11月份的数据就好。