Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » mysql und summe Antworten
mysql und summe

silent
Pixelschubser


Beiträge: 7


Kann ich mit einem mysql Befehl eine Summe erzeugen, so das ich die User und die Punkte alle aufgelistet bekomme?

Die Tabelle sieht so aus:

UserID | punkte
152 | 20
152 | 30
185 | 20
192 | 10
192 | 10

Ich hätte gerne als Ergebnis meiner mysql abfrage:

152 = 50
185 = 20
192 = 20

Vielleicht kann mir einer auf die schnelle helfen.

  Profil   E-Mail   Editieren   Zitieren

inko
Fachidiot


Beiträge: 133


1: 
2: 
3:
SELECT UserID, SUM(punkte) FROM Tabelle
GROUP BY UserID
ORDER BY punkte DESC

  Profil   Editieren   Zitieren

silent
Pixelschubser


Beiträge: 7


Danke,
aber er gibt mir jetzt nur die UserID aus.
Wie gibt er mir die Punkte auch mit aus?

Hier mein Code:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10:
$query = "SELECT userid, SUM(punkte) FROM blabla GROUP BY userid ORDER BY punkte DESC";
  $result = mysql_query($query);
  
  while ($dat = mysql_fetch_array($result))
  {
  	  	
  	echo $dat["userid"];
  	echo $dat["punkte"];
  	
  	}

Diese Nachricht wurde geändert von: silent
  Profil   E-Mail   Editieren   Zitieren

silent
Pixelschubser


Beiträge: 7


Ich habs schon raus, thx dennoch für die Hilfe:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10:
$query = "SELECT userid, SUM(punkte) FROM blabla GROUP BY userid ORDER BY punkte DESC";
  $result = mysql_query($query);
  
  while ($dat = mysql_fetch_array($result))
  {
  	  	
  	echo $dat["userid"];
  	echo $dat["SUM(punkte)"];
  	
  	}

  Profil   E-Mail   Editieren   Zitieren

silent
Pixelschubser


Beiträge: 7


Ich hab nur noch ein Problem er sortiert es nicht nach den Punkten.

Er sortiert so
id | pkt.
184 | 60
350 | 70
200 | 10

  Profil   E-Mail   Editieren   Zitieren

Ehemaliges Mitglied (#1460)
Posting-Schinder


Beiträge: 614


Das wird wohl am "order by punkte" liegen, das nach den einzelnen Punkten sortiert.
Ich bin kein SQL-Experte, aber es müsste ja dann sowas wie "order by sum(punkte)" sein.

  Profil   Editieren   Zitieren

silent
Pixelschubser


Beiträge: 7


Ja, genau das dachte ich mir auch, er sortiert nach den einzel punkten.
Nur "order by sum(punkte)" geht nicht, da kommt ein fehler!

  Profil   E-Mail   Editieren   Zitieren

Ehemaliges Mitglied (#1460)
Posting-Schinder


Beiträge: 614


Wie gesagt, ich hab noch nicht viel selbst mit SQL gemacht, nur schon zahlreiche Statements in einem existierenden Rechnungswesen-System gesehen.

Gibts vielleicht die Möglichkeit, Variablen zuzuweisen?

select userid, summe=sum(punkte) from blabla group by userid order by summe desc

  Profil   Editieren   Zitieren

silent
Pixelschubser


Beiträge: 7


nein funktioniert leidre nicht, komt wieder ein fehler.

  Profil   E-Mail   Editieren   Zitieren

silent
Pixelschubser


Beiträge: 7


Ich habs raus.
Für alle die es interessiert:

1:
$query = "SELECT userid, SUM(punkte) AS summe FROM blabla GROUP BY userid ORDER BY summe DESC";

  Profil   E-Mail   Editieren   Zitieren

Ehemaliges Mitglied (#1460)
Posting-Schinder


Beiträge: 614


Also war meine Idee schon richtig, nur die Syntax nicht. Gut zu wissen

  Profil   Editieren   Zitieren
 

Antworten
Nach oben