mysql und summe |
silent
Pixelschubser Threadstarter
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 Threadstarter
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 Threadstarter
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 Threadstarter
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: 609 |
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 Threadstarter
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: 609 |
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 Threadstarter
Beiträge: 7 |
nein funktioniert leidre nicht, komt wieder ein fehler.
|
 Profil
E-Mail
Editieren
Zitieren
|
silent
Pixelschubser Threadstarter
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: 609 |
Also war meine Idee schon richtig, nur die Syntax nicht. Gut zu wissen
|
 Profil
Editieren
Zitieren
|