Announcement

Collapse
No announcement yet.

Moving Average - Gleitender Durchschnitt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Moving Average - Gleitender Durchschnitt

    Hallo,
    ich habe eine Tabelle die wie folgt aufgebaut ist:

    id (int),
    price (decimal(10,4)),
    date (date)

    Nun bekomme ich mit dem Query
    Code:
    select 
     dbo.DateTime(datepart(year, t1.date), datepart(month, t1.date), datepart(day, t1.date), datepart(hour, t1.date), 0,0) as dt,
     avg(price) as ap
    
    from data t1
    
    where t1.fk_id = 1 
    	and datepart(month, t1.date) = 7 
    	and datepart(hour, t1.date) between 8 and 18
    
    group by datepart(year, t1.date), datepart(month, t1.date), datepart(day, t1.date), datepart(hour, t1.date)
    den Durchschnittspreis einer Stunde sowie ein Datum.
    Das sieht ewta wo aus:
    Code:
    2007-07-02 09:00:00.000	1533.333333
    2007-07-02 10:00:00.000	1522.587628
    2007-07-02 11:00:00.000	1515.759259

    Okay. Nun möchte ich im endeffekt einen Moving Average über die letzten x Stunden bekommen. Wie bekomme ich sowas hin? Geht das als Query oder ist eine StoredProcedure bzw eine .NET StoredProcedure (also clr intergration) schneller?

    Desweiteren habe ich überlegt, bei einem Insert direkt den MA ausrechnen zu lassen über einen Trigger. Ist das praktikabel?
Working...
X