In der session_aktiv-Tabelle stehen alle ersten Plätze.
Da es aber Probleme mit den Sessions gibt bzw ich dieses Feature gar nicht brauche, muss ich aus der Tabelle auslesen, wo ALLE scores drin stehen.
Also, die Tabelle hat folgende Spalten:
scoreid, gameid, game, date, time, userid, username, score, comment
wobei gameid, game, userid, username und score relevant sind und nach time sortiert werden soll.
Es stehen in der Tabelle alle Scores aller user drin ...
z.b. (siehe Anhang)
Daraus wird ersichtlich, dass der Eintrag mit der scoreid 1 den besten Score hat, alle anderen Einträge mit der gleichen GameID sollen nun ignoriert werden.
Das hier mal probieren, sollte dir erstmal alle maximalen Scores pro Game liefern
Code:
select gameid, max(score)max_score from tabelle group by gameid
Den Rest zum Score auslesen (geht imo nur über subquery):
Code:
select tabelle.gameid, tabelle.game, tabelle.userid, tabelle.username, tabelle.score
from
tabelle,
( select gameid, max(score)max_score from tabelle group by gameid ) max_scores
where
tabelle.gameid=max_scores.gameid
and tabelle.max_score = max_scored.max_score
order by
tabelle.date,
tabelle.time
Vielen Dank!
Doch ich hab Probleme mit dem Einbinden.
Könntest du mir das ganze Erklären, komm damit nicht so ganz zurecht ;)
mfg
edit:
Falls ich alles richtig angepasst hab, kommt lediglich dieser fehler:
mysql error: Unknown column 'bb1_arcade.max_score' in 'where clause'
edit2:
so siehts jetzt bei mir aus:
Zitat:
$wingamer = $db->query("
select bb".$n."_arcade.gameid, bb".$n."_arcade.game, bb".$n."_arcade.userid, bb".$n."_arcade.username, bb".$n."_arcade.score
from
bb".$n."_arcade,
(select gameid, max(score)max_score from bb".$n."_arcade group by gameid ) max_scores
where
bb".$n."_arcade.gameid=max_scores.gameid
and bb".$n."_arcade.max_score = max_scores.max_score
order by
bb".$n."_arcade.date,
bb".$n."_arcade.time
");
Geändert von Bogi (10.01.2007 um 12:18:52 Uhr)
Grund: noch was vergessen
$wingamer = $db->query(" select score.gameid, score.game, score.userid, score.username, score.score from bb".$n."_arcade score, (select gameid, max(score)max_score from bb".$n."_arcade group by gameid ) max_scores where score.gameid=max_scores.gameid and score.score = max_scores.max_score order by score.date, score.time ");