Los valores anteriores no ser el mismo, porque el tiempo es diferente. Por desgracia.
Puedes hacer esto usando el insert . . . select
sintaxis. La idea es seleccionar la última fila insertada y usar un where
cláusula para filtrar las filas. El filtro no devolverá filas (y, por lo tanto, no insertará) cuando los valores sean los mismos:
insert into AeroSamples(temperature, pressure, humidity)
select :t, :p, :h
from (select temperature, pressure, humidity
from AeroSamples
order by id desc
limit 1
) as1
where as1.temperature <> :t or as1.pressure <> :p or as1.humidity <> :h;