2017-06-27 28 views
0

dataset如何清理尚未更改的记录

我想清理我的数据集。左边是原始数据的样子。这是基于时间的温度读数。我基本上想要删除的行,如果上面行具有相同的温度

+1

用您正在使用的数据库标记您的问题。另外,尝试解释你的输出的逻辑。 –

回答

0

如果你只是想改变,使用ANSI标准lag()功能,大多数的数据库支持:

select zone, temperature, time 
from (select t.*, 
      lag(temperature) over (partition by zone order by time) as prev_temperature 
     from t 
    ) t 
where prev_temperature is null or prev_temperature <> temperature; 
0

您可以使用lead获取下一行的值,并在下一行的值相同时删除行。

with cte as (select t.* 
      ,lead(temperature) over(partition by zone order by time) as next_temp 
      from tbl t 
      ) 
delete from cte 
where next_temp is not null and next_temp=temperature 
相关问题