一个按时间和值排序的表,我想添加一个名为keep的列,它表示要保留哪一行。每行的keep列为0或1。
保留行的条件:
如果每行与前一行之间的时间大于5分钟,则保留该行;如果当前行的值与前一行不同,请保留此行(保持=1)
如果上一行和此行之间的时间小于5分钟,并且值相同,则在keep列中将其标记为0。下一行将不使用当前行来计算时差,而是使用上一行。
输出示例:
+--------+-------+------+
| Time | Value | Keep |
+--------+-------+------+
| 11:34 | 150 | 1 |
| 11:35 | 150 | 0 |
| 11:40 | 150 | 1 |
| 11:40 | 151 | 1 |
| 11:41 | 151 | 0 |
| 11:43 | 152 | 1 |
| 11:44 | 152 | 0 |
| 11:50 | 152 | 1 |
+--------+-------+------+
1条答案
按热度按时间iyr7buue1#
一种方法使用相关子查询: