Deberías poder hacer algo como
Select * from observations where <old> group by sensortype, stationid, extract(year_month, measure_date), extract(day_hour, measure_date);
group_by
colapsará los registros de cada grupo en uno. Puede seleccionar esto en una nueva tabla si lo desea.
Si realmente necesita eliminar todos los registros antiguos redundantes, simplemente seleccione los números de datos utilizando la consulta anterior y luego elimine todos los registros NOT IN(<those ids>)
.