Du kan gå med i ditt bord med sig själv:
select l1.id, avg( l2.Temperature )
from l l1
inner join l l2
on l2.id <= l1.id and
l2.Timestamps + interval '15 minutes' > l1.Timestamps
group by l1.id
order by id
;
Resultat:
| ID | AVG |
-----------------------
| 1 | 5.39 |
| 2 | 5.365 |
| 3 | 5.296666666667 |
| 4 | 5.3575 |
| 5 | 5.346 |
| 6 | 5.321666666667 |
| 7 | 5.331428571429 |
Observera:Endast "hårt arbete" görs. Du bör sammanfoga resultatet med den ursprungliga tabellen eller lägga till nya kolumner i frågan. Jag vet inte att din sista fråga behövs. Anpassa den här lösningen eller be om mer hjälp.