删除重叠时间的行

时间:2011-09-19 18:44:40

标签: sql delete-row

我正在尝试删除与时间相关的一些冲突日期,这是一个开始时间和停止时间的表,我想写一个查询来删除重叠数据,在这种情况下我想删除{{ 1}}行和13:00行(第6/7行)因为这些时间已经被13:3012:00行(第3/4行)所覆盖。 14:00为1的所有行都是开始时间,VALUE_ENUM为0的所有行都是停止时间。

以下是我表格中数据的示例:

VALUE_ENUM

2 个答案:

答案 0 :(得分:0)

schedule_time小于上一行时,似乎要删除一行。但是你如何订购行?还有另一栏吗?否则,一旦删除,下一次插入很可能就在那个位置,下次你最终会错误地删除很多行。

不确定如何在单个sql语句中完成此操作,但过程算法很简单 - 将last_schedule_time初始化为null,然后在每行比较中初始化;如果更少则删除或将last_schedule_time分配给当前。

答案 1 :(得分:0)

感谢您的帮助,但我能够通过将特定系统的先前时间设置为临时变量来解决问题,然后与下一次进行比较以查看它们是否介于临时时间之间,如果他们这样做了刚刚完全跳过插入,再次感谢您的意见和建议。