Announcement

Collapse
No announcement yet.

Aggregatfunktionen und Group by?

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

  • Aggregatfunktionen und Group by?

    Ich hab in der DB Stündlich abgelegte Messwerte, welche über ein Webinterface abgerufen werden können. Über das Formularfeld kann der Benutzer auswählen ob er nun die Werte Stündlich, Täglich, Wöchentlich etc. Aufsummieren und darstellen will. Soweit ist alle realisiert und OK. Nun muss aber für die entsprechende Auswahl jeweils noch Summe, Durchschitt, Minimum und Maximum ermittelt werden. Wenn jetzt also der Benutzer Wöchentlich anzeigen lässt, müsste der kleinste Wochenwert, grösster Wochenwert etc ermittelt werden.

    Wenn ich das so löse gib das ja jeweils pro Grouping ein Datensatz, und ich müsste eigentlich die Aggregatwerte aus diesen haben:
    <PRE>
    SELECT MAX(SPALTE), MIN(SPALTE), SUM(SPALTE), AVG(SPALTE)
    FROM TABELLE
    WHERE DATEDIFF(<?einheit>, DATUMZEIT, getdate()) <= <?periode>
    AND DATEDIFF(yy, DATUMZEIT, getdate()) <= 0
    GROUP BY DATEPART(<?group>, dt), DATEPART(yy, dt)
    </PRE>

    Muss ich die Daten wirklich zuerst in eine Temptabelle schreiben? Oder hat da jemand nen Trick?
Working...
X