Probleme mit Durchschnittsberechnung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit Durchschnittsberechnung

    Hallo,
    ich habe nen Problem mit einer SQL- Abfrage:
    folgende Tabelle:
    Datum Wert 1 Wert 2

    die Werte werden alle 15 Minuten gespeichert. Nun möchte ich einen Durchschnitt der Werte je Stunde ausrechnen.
    Leider habe ich keine Idee, wie ich das in SQL realisieren kann.


    Hier mein bisheriger Ansatz:
    Code:
    SELECT datum, avg(wert1) as wert1, avg(wert2) as wert2 from werte group by datum, DATE_FORMAT( datum, '%H' )
    Es fehlt hier aber noch, dass er alle 4 Werte einer Stunde zu einem Durchschnitt zusammen nimmt?
    Zuletzt geändert von komikaa; 02.03.2007, 15:30.

  • #2
    WHERE DATE_FORMAT( datum, '%H' ) BETWEEN xxx AND yyy

    ???
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      dann rechnet er mir den durchschnitt für eine stunde aus.

      aber angenommen ich habe 24 stunden mit jeweils 4 werten
      wie kann ich dann eine liste mit 24 durchschnittswerten bekommen?
      oder müßte ich da 24 einzelne anfragen an die db machen?

      Kommentar


      • #4
        Code:
        SELECT 
          datum, 
          AVG((wert1 + wert2 + wert3 + wert 4) / 4) durchschnitt
        FROM werte 
        GROUP BY datum, DATE_FORMAT( datum, '%H' )
        So?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Hallo,
          danke aber das würde mir den Durchschnitt über alle Werte rechnen.
          Ich glaube ich muss nochmal erläutern was ich machen will.

          Also ich habe 4 Temperaturwerte, die jeweils alle 15 Minuten gemessen und in eine Datenbank geschrieben werden.

          Jetzt möchte ich nicht diese 15- minütigen Werte ausgeben sondern je Stunde einen Durchschnittswert über die 4 in dieser Stunde gespeicherten Werte.

          Kommentar


          • #6
            Kann mir keiner helfen?

            Kommentar


            • #7
              SELECT AVG(wert) FROM tabelle GROUP BY DATE_FORMAT(datum, '%Y%m%d%H')
              öh... so?

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar

              Lädt...
              X