erik: DB Abfage

Ich habe eine Datenbank folgender Art

wert  datum  anzahl
a  2007-01-01  10
b  2007-01-01  3
a  2007-01-02  2
...

Die Werte sollen gruppiert für Tag und Wert ausgegeben werden. Also Wert "a" am 2007-01-01 mit 12, am 2007-01-02 mit 2, und Wert b am 2007-01-01 mit 3 Das funktioniert ja auch.

Aber ich bräuchte auch nocht den Maximalwert (10), die Anzahl aller Werte (2) und die Summe aller Werte (15)

Leide bekomme ich nur die Summe hin, den Rest nicht. Am liebsten wäre mir alles in einer Abfrage.

  1. Hallo erik,

    Aber ich bräuchte auch nocht den Maximalwert (10), die Anzahl aller Werte (2) und die Summe aller Werte (15)

    Würde ich so machen:

    $abfrage = mysql_query("SELECT wert,datum,anzahl FROM ...");
    $anzahl = mysql_num_rows($abfrage); // könntest du auch mit Schleife lösen ($anzahl++)
    $maximal = 0;
    $summe = 0;
    while($auflistung = mysql_fetch_object($abfrage)) {
    $maximal = max($auflistung->anzahl,$maximal);
    $summe += $auflistung->anzahl;
    }

    Gruß,
    Dodwin

    --
    Dodwin
  2. yo,

    Aber ich bräuchte auch nocht den Maximalwert (10), die Anzahl aller Werte (2) und die Summe aller Werte (15)

    select wert, datum, SUM(anzahl) AS Summe, COUNT(*) AS Anzahl, MAX(anzahl) AS Maximalwert
    FROM tabelle
    GROUP BY wert, datum

    ILja