西柚粒粒仔:感谢分享!! 关于那道SQL题我想了下 不知道做的对不对 请教一下看看有没有更加简便的方法
假设那个图表的column为(id,date,time, user_id, video_id)
1. 先选出该日每个用户看每一个视频的最早时间,同时排除所有只看了一个视频的用户
select user_id, video_id, min(time)
from table
where date = xxx
group by user_id, video_id
having count(id)>1;
2. 用row_number over (partition by user_id order by time); 然后选出前两笔,即row_number in (1,2)
3. 然后select max(time) - min(time),group by user_id;
4. 所有用户平均时间差就再用avg
请教下有没有更简便的方法;

0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: