快手手撕代码2:

主要考了day(),tiestampdiff(),lead()函数

drop table  if exists a;

create table a
(userid int,
status varchar(64),
time datetime);

insert into a
values
(1,'enter','2019-04-19 03:09'),
(1,'leave','2019-04-19 03:10'),
(2,'enter','2019-04-19 03:19'),
(3,'enter','2019-04-19 03:20'),
(2,'leave','2019-04-19 03:29'),
(1,'enter','2019-04-19 04:22'),
(1,'leave','2019-04-19 04:56');

select *
from a;

select userid,timestampdiff(MINUTE,time,leave_time)as usetime
from(select *,lead(time,1,0)over(partition by userid)as leave_time
from a)as a
where status='enter';
全部评论

相关推荐

少年郎as:这不把公司名贴出来那我可要喷你了哦
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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