题解 | #牛客直播各科目平均观看时长#

牛客直播各科目平均观看时长

https://www.nowcoder.com/practice/e9e7dc4c8623467793f6999cbfee9360

# 请你统计每个科目的平均观看时长,提前进入等待时间不算,反复进出用户去重

# (观看时长定义为离开直播间的时间与进入直播间的时间之差,单位是分钟),

# 输出结果按平均观看时长降序排序,结果保留两位小数。

SELECT course_name

    ,ROUND(SUM(len_course)/COUNT(DISTINCT user_id),2) avg_Len

FROM (

SELECT course_name

    ,user_id

    ,IF(CAST(LEFT(course_datetime,15) AS DATETIME)>=in_datetime,TIMESTAMPDIFF(MINUTE,CAST(LEFT(course_datetime,15) AS DATETIME),out_datetime),TIMESTAMPDIFF(MINUTE,in_datetime,out_datetime))  len_course

FROM course_tb

LEFT JOIN attend_tb USING(course_id)

) t

GROUP BY course_name

ORDER BY avg_Len DESC

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务