快手手撕代码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';
全部评论

相关推荐

程序员牛肉:这一眼假啊,基本上都是骗人的,不然就涉及到职位贪腐了,就像之前华为的OD事件,看你运气好不好了
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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