【场景】:观看时长
【分类】:分组查询、多表连接
分析思路
难点: 1.计算(观看时长定义为离开直播间的时间与进入直播间的时间之差,单位是分钟),使用timestampdiff()
(1)请你统计每个科目的平均观看时长,输出结果按平均观看时长降序排序,结果保留两位小数
-
[使用]:timestampdiff(minute,in_datetime,out_datetime)
-
[使用]:group by course_name; order by avg_Len desc
最终结果
select 查询结果 [课程名称;平均观看时长]
from 从哪张表中查询数据[多表]
group by 查询条件 [课程名称]
order by 对查询结果排序 [按平均观看时长降序排序];
求解代码
select
course_name,
round(avg(timestampdiff(minute,in_datetime,out_datetime)),2) as avg_Len
from course_tb
left join attend_tb using(course_id)
group by course_name
order by avg_Len desc