sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLのタイムスタンプに基づく移動平均

    テーブルを自分自身で結合できます:

    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
    ;
    

    結果:

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

    注意:「ハードワーク」のみが行われます。結果を元のテーブルと結合するか、クエリに新しい列を追加する必要があります。必要な最終的なクエリがわかりません。このソリューションを適応させるか、さらに助けを求めてください。



    1. ADO.NETがT-SQLストアドプロシージャを呼び出すと、SqlTimeoutExceptionが発生します

    2. SecurityAdvisorMySQLアラートを修正する方法

    3. ソケット'/tmp/mysql.sockを介してローカルMySQLサーバーに接続できません

    4. テーブルをパラメータとしてSQLサーバーUDFに渡します