Hallo,
ich hab mal wieder ein Problem: ich möchte einen gewichteten Durchschnitt berechnen. Folgende Tabelle mit Einträgen liegt zugrunde:
Die durchschnittliche Qualität soll sich nun ergeben aus
(Menge * Qualitaet) / Gesamtmenge
jeweils für einzelne IDs
Hab es versucht mit:
[highlight=SQL]
SELECT
ID, sum(Menge*Qualitaet)/Gesamtmenge as Durchschnitt, sum(Menge) as Gesamtmenge
FROM TEST
GROUP BY ID
[/highlight]
Aber natürlich hat er die Gesamtmenge nicht zur Verfügung.
Hiermit hab ich ja quasi alles was ich brauche, aber könnte ich damit auch sofort die beiden Spalten mit einander verrechnen?
[highlight=SQL]
SELECT
ID, sum(Menge*Qualitaet) as MengeMalQuali, sum(Menge) as Gesamtmenge
FROM TEST
GROUP BY ID
[/highlight]
Vielen Dank
Stefan
EDIT: es geht um MySql
ich hab mal wieder ein Problem: ich möchte einen gewichteten Durchschnitt berechnen. Folgende Tabelle mit Einträgen liegt zugrunde:
ID | Menge | Qualitaet
-----------------------------------------------------------
1 | 20 | 7
1 | 10 | 8
1 | 20 | 9
2 | 2 | 4
2 | 4 | 1
2 | 6 | 2
-----------------------------------------------------------
1 | 20 | 7
1 | 10 | 8
1 | 20 | 9
2 | 2 | 4
2 | 4 | 1
2 | 6 | 2
(Menge * Qualitaet) / Gesamtmenge
jeweils für einzelne IDs
Hab es versucht mit:
[highlight=SQL]
SELECT
ID, sum(Menge*Qualitaet)/Gesamtmenge as Durchschnitt, sum(Menge) as Gesamtmenge
FROM TEST
GROUP BY ID
[/highlight]
Aber natürlich hat er die Gesamtmenge nicht zur Verfügung.
Hiermit hab ich ja quasi alles was ich brauche, aber könnte ich damit auch sofort die beiden Spalten mit einander verrechnen?
[highlight=SQL]
SELECT
ID, sum(Menge*Qualitaet) as MengeMalQuali, sum(Menge) as Gesamtmenge
FROM TEST
GROUP BY ID
[/highlight]
Vielen Dank
Stefan
EDIT: es geht um MySql
Comment