sql >> Database teknologi >  >> RDS >> Oracle

Oracle glidende gennemsnit

Jeg forstår ikke, hvad det er meningen med at bruge TO_CHAR(SDATE, 'W') ? Ifølge lægen skal dette give dig ugenummeret i måneden...

Jeg forsøgte i hvert fald at forenkle forespørgslen i håb om, at den stadig passede til dine behov:

VÆLG x.*, ABS (LTMA-STMA) FORSKEL (VÆLG SDATE, PAYLOAD, AVG(PAYLOAD) OVER (ORDNER EFTER DATUM rækker MELLEM 14 FOREGÅENDE OG NUVÆRENDE RÆKKE) STMA, AVG(PAYLOAD) OVER (ORDRE BY SDATE rækker MELLEM 90 FOREGÅENDE OG AKTUELLE RÆKKE) LTMA FROM ( SELECT a.SDATE, SUM(a.PAYLOAD) PAYLOAD FROM TABLE_PAYLOAD a WHERE a.SDATE> sysdate - 3 * 365 GRUPPER BY a.SDATE BY DATA;

PS:Jeg kan heller ikke se meningen med at gøre TO_DATE(TO_CHAR(a.SDATE, 'ÅÅÅÅ-MM-DD'), 'ÅÅÅÅ-MM-DD') , dette svarer til a.SDATE ...




  1. Sum kolonner med null-værdier i oracle

  2. PHP Sidste log ind script

  3. Hvordan får jeg adgang til Oracle fra Python?

  4. ORA-1843:ikke en gyldig måned under opdatering af post