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 美国

相关推荐

10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
有工作后先养猫:太好了,是超时空战警,我们有救了😋
点赞 评论 收藏
分享
点赞 4 评论
分享
牛客网
牛客企业服务