Seite 1 von 1

[MySQL] Abfrage und Sortierungsproblem

Verfasst: 02.08.2007, 20:27
von Ice Man
Ich hab eine Tabelle

ID |Produkt | Prod-ID | Preis

Beispiel:

4 | Apfel | 001 | 0.99

In der Tabelle sind viele Einträge, auch gibt es für bestimmte Produkte mehrere Einträge.

so kostet der Apfel einmal 0.89 oder 1.09.

Ich will in der Tabelle alle Produkte ausgeben, und bei der Ausgabe soll der Durchschnittspreis ausgegeben werden.

Die Abfrage hab ich hinbekommen.

Code: Alles auswählen

SELECT 
sum(preis) as summe, COUNT(id) as anzahl, produkt 
FROM tabelle  
group by produktid 
order by summe ASC
Denn Durchschnittspreis errechne ich über

$durch =$daten['summe'] / $daten['anzahl'];

Funktioniert auch.
Aber die Ausgabe will ich nach dem durchschnittswert sortieren.
Leider wird dieser Wert erst in der while schleife berechnet.
Das ist also zu spät.

Ich könnte vorher ne Temp Tabelle aufmachen, alles eintragen, und diese dann wieder sortiert ausgeben. Aber ich denke das gibt es bestimmt eine Funktion, wo es einfacher geht.

Ich denke da mehr an eine "Durchschnitt" Funktion, wo man den Durchschnitt der Preise errechnet.
Bin noch am Googlen, vielleicht weiß es ja einer von euch sofort :)

Sach schon mal danke :)

Verfasst:
von

Verfasst: 02.08.2007, 20:53
von net(t)worker
es gibt eine eingebaute funktion in mysql um in der Abfrage selber den durschnitt eines feldes zu ermitteln... schau einfach mal ins mysql Manual.... gut, ich könnte es dir nu auch raussuchen, aber wenn du mit mysql arbeitest wirst du es eh häufiger brauchen... also selber raussuchen is angesagt... :wink:

Verfasst: 02.08.2007, 21:10
von Ice Man
Google mein Freund und Helfer :)

Selbst ist der Mann...
Funktioniert bestens, vielleicht brauchsts ja irgendjemand anderes auch.

avg(tabellenfeld) as durch