SQL面试题——抖音SQL面试题 主播播出时长
主播播出时长
现有如下数据,主播id、房间号、播出的批次号,每个批次号进出房间的时间戳、分区时间:
每一次直播都有一个上播和下播,每个房间里,同一个批次号会有两条数据,分别记录了上播和下播时间,求每个主播的播出时长?
通过上面的数据,可以清晰的看出,同一个批次号里面,只要拿后一条时间戳减前一条时间戳就是每个主播的播出时长
自关联实现
select
accid,
room_id,
batch_id,
dateline_start,
dateline_end-dateline_start as dateline,
dt
from
(
select
t1.accid,
t1.room_id,
t1.batch_id,
t1.dateline as dateline_start,
t2.dateline as dateline_end,
t1.rank,
t1.dt
from
(
select
accid,
room_id,
batch_id,
row_numbe