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条数据出现,因此保留该条数据;
有一张表,包含时间戳和数值两个字段。
要求:
数值为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)
相关推荐
11-17 11:00
东北大学 电气设计工程师 Daydream2:这就和高考一样,大部分东西学了之后完全没用,但可以看出你的学习能力。因为公司进去都会有培训,不需要你真的会工作,只需要你能学习
点赞 评论 收藏
分享
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享