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

オラクルの移動平均

    TO_CHAR(SDATE, 'W')を使用する意味がわかりません ?ドキュメントによると、これはあなたにその月の週番号を与えることになっています...

    とにかく、それでもあなたのニーズに合うことを期待して、クエリを単純化しようとしました:

    SELECT x.*, ABS (LTMA-STMA) DIFFERENCE
    FROM
    (
      SELECT SDATE, PAYLOAD,
             AVG(PAYLOAD) OVER (ORDER BY SDATE rows BETWEEN 14 PRECEDING AND CURRENT ROW) STMA,
             AVG(PAYLOAD) OVER (ORDER BY SDATE rows BETWEEN 90 PRECEDING AND CURRENT ROW) LTMA
      FROM
      (
        SELECT a.SDATE, SUM(a.PAYLOAD) PAYLOAD
        FROM TABLE_PAYLOAD a
        WHERE a.SDATE  > sysdate - 3 * 365      
        GROUP BY a.SDATE
      )
    ) x
    ORDER BY SDATE;
    

    PS:TO_DATE(TO_CHAR(a.SDATE, 'YYYY-MM-DD'), 'YYYY-MM-DD')を実行しても意味がわかりません 、これはa.SDATEと同等です ...




    1. SQLのカレンダーテーブル

    2. phpがpostgresqlで動作するようにするにはどうすればよいですか?

    3. 遊ぶ!フレームワーク-データベースに接続できません

    4. SQL Server 2008:データ型nvarcharをfloatに変換中にエラーが発生しました