PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Trung bình động dựa trên Dấu thời gian trong PostgreSQL

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận [archiver] phiên bản không được hỗ trợ (1.13) trong tiêu đề tệp khi chạy pg_restore

  2. Không tìm thấy trình điều khiển phù hợp khi bao gồm các trình điều khiển cần thiết với maven-assembly-plugin

  3. Postgres và chỉ mục trên các khóa ngoại và khóa chính

  4. Mệnh đề Đi và Đi trong Postgres

  5. Hai cột trong truy vấn con trong mệnh đề where