Anzeige:
Ergebnis 1 bis 7 von 7

Thema: AVG von ausgewählten Rows

  1. #1
    Registrierter Benutzer Avatar von J!0X
    Registriert seit
    15.08.2006
    Ort
    Dortmund
    Beiträge
    22

    AVG von ausgewählten Rows

    Hallo,

    Ich versuche, den Mittelwert von beliebig vielen Zeilen einer Tabelle zu bilden.
    Meine Idee wäre folgende (Syntaktisch nicht korrekt):
    Code:
    SELECT AVG(SELECT wert FROM messwerte WHERE id = 0 LIMIT 0,2) AS `avg`
    Leider gibt mir die AVG-Funktion aber nur den Mittelwert aller Rows einer Tabelle, also
    Code:
    SELECT AVG(wert) FROM messwerte WHERE messwertid = 0
    Ein angehängtes LIMIT wird ignoriert.
    Ich möchte auf jeden Fall die Mittelwerte mit SQL berechnen und nicht mit PHP, weil später eine sehr große Menge an Daten in möglichst kurzer Zeit abgearbeitet werden soll.

    Vielen Dank,
    J!0X

  2. #2
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418
    Hallo,

    versuch es doch mal mit einem Subselect:
    Code:
    SELECT AVG(*) FROM (SELECT wert FROM messwerte WHERE id = 0 LIMIT 0,2)
    .

    Gruß, Florian
    Geändert von ContainerDriver (04-12-2008 um 07:36 Uhr)
    Ein gebrechlich Wesen ist der X-Server.

  3. #3
    Registrierter Benutzer Avatar von J!0X
    Registriert seit
    15.08.2006
    Ort
    Dortmund
    Beiträge
    22
    Danke, das hat mir sehr geholfen.

  4. #4
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418
    Okay, war aber noch ein Fehler drin in meinem Select-Statement.
    Ein gebrechlich Wesen ist der X-Server.

  5. #5
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    du brauchst auf jeden fall noch ein oder by im subselect,
    sonst sit die reihenfolge undefiniert (hattest bisher
    nur glück dass immer die richtigen kamen)

  6. #6
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Moin,

    Zitat Zitat von msi Beitrag anzeigen
    du brauchst auf jeden fall noch ein oder by im subselect,
    sonst sit die reihenfolge undefiniert (hattest bisher
    nur glück dass immer die richtigen kamen)
    wollte ich gestern schon fragen - was mich aber noch mehr interessiert: Wozu braucht man so eine Abfrage? Ein Durchschnitt soll doch was aussagen - da muss es doch ein handfestes Kriterium geben (eine Zeitspanne, einen Temperaturbereich, ...) - oder nicht???

    Jan

  7. #7
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    Zitat Zitat von jan61 Beitrag anzeigen
    Moin,



    wollte ich gestern schon fragen - was mich aber noch mehr interessiert: Wozu braucht man so eine Abfrage? Ein Durchschnitt soll doch was aussagen - da muss es doch ein handfestes Kriterium geben (eine Zeitspanne, einen Temperaturbereich, ...) - oder nicht???

    Jan
    wenn alle X Zeiteinheiten ein neuer Wert eingetragen wrid kann man
    so den Durchschnitt der letzten Y Werte ermitteln udn ich denke genau
    soll erfüllt werden.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •