MySQL Summe berechnen

Alph4

Mitglied
Hallo zusammen,

ich habe folgendes problem und zwar ich möchte aus mehreren einträge in einer MySQL Tabelle zu einer Summe berechnen lassen.

Folgendes habe ich bereits versucht was aber nicht funktioniert

PHP:
include("config.php");

$anfrage = "SELECT SUM(menge) as summe from $tb_einsatz";
$query = mysql_query($anfrage, $con);
while ($s = mysql_fetch_array($query))
{

echo $s['menge'];
}
mysql_close($con);

Also es sollen alle werte von einer spalte für eine Person summiert werden

Bsp.:

Name Einsatz

Victor 15
Hans 12
victor 17

Die Summe aus Victors Einsätze beträgt 32

Bitte um Hilfe...=)
 
Im Moment summierst du die ganze Tabelle auf.
Wenn du nur jeweils den Einsatz einer Person haben willst, musst du auch nach den Personen gruppieren.
SQL:
SELECT `Name`, SUM(`menge`) AS summe FROM $tb_einsatz GROUP BY `Name`
Anschließend musst du natürlich noch 'summe' ausgeben, nicht menge, denn in deinem Query sagst du SQL, dass es dir die Summe der Spalte 'menge' (SUM(`menge`)) unter dem Namen 'summe' bereitstellen soll (AS summe).


PHP:
include("config.php"); 

$anfrage = "SELECT `Name`, SUM(`menge`) AS summe FROM $tb_einsatz GROUP BY `Name`"; 
$query = mysql_query($anfrage, $con); 
while ($s = mysql_fetch_array($query)) 
{ 

echo "Die Summe aus ".$s['Name']."s Einsatz beträgt ".$s['summe']; 
} 
mysql_close($con);
 
Zuletzt bearbeitet von einem Moderator:
Huhu, das Problem liegt wohl darin, dass du MySQL nicht sagst, wonach er Gruppieren soll.
Wenn ich dich gerade richtig verstehe.. bin mir noch nicht so sicher..

Wie ist denn die DB Struktur?

Vielleicht liegt das Problem aber auch nur im $s['menge'] du aber AS summe .
Richtig würde es heißen $s['summe'] ..

paD
 
Ok das hört sich logisch an...=)

Wenn ich das nun ausgeben möchte kommt ein Fehler das $menge kein Wert enthällt.
Muss ich dies anders ausgeben als wenn ich SELECT * from schreibe?

ok es geht

ich hatte es vorher ohne as summe und ohne gruppierung und hatte mich etwas schlau machen wollen und habe diese abfrage mit as summe gefunden...

ich danke euch für die sehr schnellen antworten...=)
 
Zuletzt bearbeitet von einem Moderator:
Zurück