PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Średnia ruchoma na podstawie znaczników czasu w PostgreSQL

Możesz dołączyć do swojego stołu z samym sobą:

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
;

Wyniki:

| ID |            AVG |
-----------------------
|  1 |           5.39 |
|  2 |          5.365 |
|  3 | 5.296666666667 |
|  4 |         5.3575 |
|  5 |          5.346 |
|  6 | 5.321666666667 |
|  7 | 5.331428571429 |

Uwaga:wykonywana jest tylko „ciężka praca”. Należy połączyć wynik z oryginalną tabelą lub dołączyć nowe kolumny do zapytania. Nie wiem, czy potrzebne jest Twoje ostatnie zapytanie. Dostosuj to rozwiązanie lub poproś o dalszą pomoc.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę użyć zapytania z symbolem zastępczym w cudzysłowie? (perl / postgresql)

  2. Funkcja AVG() w PostgreSQL

  3. Indeks PostgreSQL nie jest używany do zapytań o zakresy IP

  4. Czy mogę użyć zwracanej wartości INSERT...RETURNING w innej INSERT?

  5. Problem do wstawienia za pomocą psycopg