Durchschnittspunktzahl der Mitglieder einer Gruppe berechnen

Lil-rich hat gesagt.:
Kannst du mir das bitte in einen PHP Befehl umwandeln wenns geht ?
Das sind SQL-QUERIES, die musst du nur, eingebettet in Anführungzeichen, an [phpf]mysql_query[/phpf] übergeben.

Ansonsten:
Die beiden Queries schreiben nichts in die DB, sie lesen nur aus.
Wozu willst du da Punktedurschnitt und Spielerzahl in die DB schreiben...es steht schon in der DB...man muss es nur auslesen, und das machen diese beiden Abfragen.
 
Also zum letzten Teil deines Beitrages... Ich hab das nun umgewandelt, weil ich dir geglaubt hab :D :D, und siehe da, geht nicht.... Es ist das Problem, dass meine DB anders aufgebaut ist und die durchschnittspunkte noch nirgends stehen...

Meine DB:

bbeclan_02
PHP:
  Clan //Tabelle
(clan_id = auto_increment, clan_tag='xxx', clan_name='xXx - Tripple X', pps_durchschnitt=0, memberanzahl=0)

  Dissis //Tabelle
(ID = auto_increment, name='xxx', Besitzer='Lil-rich', Bordell=0, Hooker=0, Club=0 usw. noch 4 solche =0 Sachen, die unwichtig sind)

  Geld //Tabelle
(user_id = auto_increment, user_name='xxx', betrag=50000)

  Homies //Tabelle :D
(unwichtig)

  Mitgliedschaften //Tabelle
(clan_id = zB 1, user_name='Lil-rich')

  Pimppoints // //Tabelle (der Spielerpunkte)
(user_id = auto_increment, user_name='xxx', user_betrag=150335666)
So nochmal mit Worten, die Durchschnittszahlen sind so verstreut dass es sehr schwer wird, das alles zu schaffen, denn man muss zuerst auslesen, wer in welchem Clan ist, dann diesen Personen ihr Pimppoints (PPs) zuordnen und dann damit den Clan-Durchschnitt berechnen (per SQL oder PHP) is egal wie hauptsache es geht :D Ich hoffe es gibt da eine Lösung....
 
Logisch musst du das noch anpassen...ich kenn schliesslich nicht deine DB.

Aber du hast es wohl nicht verstanden, was ich meine...MySQL ist selbst in der Lage zu rechnen:
Code:
select clan_id, AVG(spielerpunkte) as clan_durchschnitt from clans GROUP BY clan_id
AVG() ermittelt den Durchschnitt von Spalten....
per GROUP BY clan_id erreicht man, dass dieser nach Clans gruppiert wird

Ergebnis ist: der Punktedurchschnitt der einzelnen Clans.

Da du nicht alle Daten in einer Tabelle zu stehen hast, musst du diese halt beim SELECT verknüpfen, um die Beziehung zwischen Spieler und Clan herzustellen...wobei du im Übrigen arge Probleme bekommen wirst, sofern in "Mitgliedschaften" der Username nicht eindeutig ist.
 
Hey ihr seid so cool hier !! *Thumbs up* Ich werde euch noch sehr sehr lange Zeit treu bleiben ;) Habt ihr nen TeamSpeak ? Wenn nicht, würde ich euch, bei Interesse, einen stellen ! Dann könntet ihr euch mal alle kennen lernen !

Habs nun so verändert (auch meine DB) dass nun alles geht !! Nur eins fehlt noch, und zwar, dass er rundet, aber das such ich mir bei Google :D

Danke
Greetz
Lil-rich
 
MySQL besitzt bereits eine Funktion zum Runden: ROUND(). Diese kannst du ganz einfach in die Abfrage integrieren:
Code:
SELECT
        `clan_id`,
        ROUND(AVG(`spielerpunkte`)) AS `clan_durchschnitt`
  FROM
        `clans`
  GROUP BY
        `clan_id`
 
Jo so is auch möglich aber ich hab diese Funktion (die selbe nur eben von PHP) einfach danach integriert, also dann

$balbla = ceil($wert);

auch prima ;)

Braucht ihr nun nen TS oder wollt ihr noch Bedenkzeit ? :D
 

Neue Beiträge

Zurück