sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan beregnes det glidende gennemsnit over de sidste n timer

Nå, det faktum, at du skal beregne gennemsnittet for hver time, gør det faktisk nemmere, da du blot skal SUM produkttællingen og divider den med et fast tal (24). Så jeg tror, ​​at dette vil få de resultater, du ønsker (selvom en markør i dette særlige tilfælde faktisk er hurtigere):

SELECT A.*, B.ProductCount/24 DailyMovingAverage FROM ProductInventory A OUTER APPLY ( SELECT SUM(ProductCount) ProductCount FROM ProductInventory WHERE ProductName = A.ProductName AND [Date] BETWEEN DATEADD(HOUR,-23,A.[Date]) AND A.[Date]) B

  1. Brug af Oracle JDeveloper 12c med Oracle Database 12c på Oracle Cloud Platform, del 3

  2. Optimering af SSIS-pakke til millioner af rækker med Bestil efter / sorter i SQL-kommando og Merge Join

  3. Kan ikke slippe tabel:En fremmednøgle-begrænsning mislykkes

  4. Sådan gør du:Grails 3.0.2 + Oracle Database 12c?