Bạn có thể tham gia vào bảng của mình với chính nó:
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
;
Kết quả:
| ID | AVG |
-----------------------
| 1 | 5.39 |
| 2 | 5.365 |
| 3 | 5.296666666667 |
| 4 | 5.3575 |
| 5 | 5.346 |
| 6 | 5.321666666667 |
| 7 | 5.331428571429 |
Lưu ý:Chỉ 'làm việc chăm chỉ' mới được thực hiện. Bạn nên nối kết quả với bảng gốc hoặc nối thêm các cột mới vào truy vấn. Tôi không biết truy vấn cuối cùng của bạn cần thiết. Điều chỉnh giải pháp này hoặc yêu cầu thêm trợ giúp.