题解|12. 抖音20:00-23:00各类型的直播间观看总时长

抖音20:00-23:00各类型的直播间观看总时长

明确题意:

统计20:00-23:00点之间各类型的直播间观看总时长(单位分钟,保留小数点后两位),并按观看总时长降序降序。

问题拆解:

  • 关联观看记录的直播类型。知识点:join
  • 筛选观看时间在20:00-23:00点之间的记录。知识点:where
  • 统计各类型观看总时长。知识点:按类型分组group by;计算每次观看时长TIMESTAMPDIFF;统计总时长sum()
  • 总时长保留2位小数。知识点:round(..., 2)
  • 按观看总时长降序降序。知识点 order by ... desc

代码实现:

select room_type,
    round(sum(TIMESTAMPDIFF(
        MINUTE,
        greatest(in_time, str_to_date("20:00:00", '%H:%i:%s')), 
        least(out_time, str_to_date("23:00:00", '%H:%i:%s'))))
    , 2) as sum_view_minute
from user_view_tb
join room_info_tb using(room_id)
where in_time < "23:00:00" and out_time > "20:00:00"
group by room_type
order by sum_view_minute desc
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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