SQL题目提问

#面经##阿里##sql##算法#SQL题目:
有一张表,包含时间戳和数值两个字段。
要求:
数值为1的所有数据保留;
对于数据为0的那条数据,要判断从[当前时间戳,当前时间戳+10]的数据条数是否只有为1条,如果是则删除该条数据,否则保留该条数据

举例1:
time              result
1695143669    1
1695143703    0
1695143762    1

结果:
time              result
1695143669    1
1695143762    1
解释:
1695143703时刻的数据为0且从[1695143703,1695143713]时刻仅有1条数据,因此删除该条为0的数据

举例2:
time              result
1695145283    0
1695145283    0
1695145284    1
结果:
time              result
1695145283    0
1695145283    0
1695145284    1
解释:
两个同为1695145283时刻的数据为0,但是[1695145283,1695145293]时刻的数据为3条,大于1条,因此保留这两条为0的数据

举例3:
time              result
1695146431    0
1695146683    0
1695146684    1
结果:
time              result
1695146683    0
1695146684    1
解释:
1695146431由于[1695146431,1695146441]时刻内仅有1条数据出现,因此删除该条数据;
1695146683由于[1695146683,1695146693]有2条数据出现,因此保留该条数据;
全部评论
select time ,result from( select time ,result ,lead(time)over(order by time asc) as next_time from t1 ) t1 where result=1 or (result=0 and next_time-time<=10)
2 回复 分享
发布于 2023-09-27 19:18 美国

相关推荐

09-02 11:14
已编辑
四川大学 Java
吴offer选手:这种面试是最烦的,学不到东西,然后还被挂的莫名其妙。之前看到一种说法是面试官如果不想要你了,就会问一些很简单的问题,防止你举报他
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-20 19:41
那一天的Java_J...:简历完全流水账,学生思维很严重,还有很大的优化空间,可以多看看牛客的简历。
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

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