Problem mit Fussball Tabelle
Eine Aktuelle Fußballtabelle soll bei Bedarf aus einer Spiele Tabelle berechnet werden.
Spiele Tabelle:
CREATE TABLE liga1_ergebnisse (
spiel_id bigint(32) unsigned NOT NULL default '0',
team int(8) unsigned NOT NULL default '0',
tplus int(2) unsigned NOT NULL default '0',
tminus int(2) unsigned NOT NULL default '0',
punkte tinyint(1) unsigned default '0',
PRIMARY KEY (spiel_id,team)
) TYPE=MyISAM;
Ein Spiel ergibt immer 2 Einträge. (Team1,Team2)
Die Abfrage Lautet:
SELECT liga1_teams.name,SUM(liga1_ergebnisse.tplus), SUM(liga1_ergebnisse.tminus),
SUM(liga1_ergebnisse.tplus-liga1_ergebnisse.tminus),SUM(liga1_ergebnisse.punkte),COUNT(liga1_ergebnisse.spiel_id),liga1_ergebni sse.team
FROM liga1_teams, liga1_ergebnisse WHERE liga1_teams.id= liga1_ergebnisse.team GROUP BY liga1_ergebnisse.team
ORDER BY liga1_ergebnisse.punkte DESC , liga1_ergebnisse.tplus-liga1_ergebnisse.tminus DESC, liga1_ergebnisse.tplus DESC
Und da ist das Problem, MYSQL Sortiert diese Abfrage nicht richtig wenn –Tore ins Spiel kommen. Das heißt, dass eine Tore Differenz von -5 besser ist als -2. Und das kann ja nicht sein. Es ist fast so als ob er das – vor der Zahl Ignoriert.
Was ist falsch wer hat ne Idee?
Eine Aktuelle Fußballtabelle soll bei Bedarf aus einer Spiele Tabelle berechnet werden.
Spiele Tabelle:
CREATE TABLE liga1_ergebnisse (
spiel_id bigint(32) unsigned NOT NULL default '0',
team int(8) unsigned NOT NULL default '0',
tplus int(2) unsigned NOT NULL default '0',
tminus int(2) unsigned NOT NULL default '0',
punkte tinyint(1) unsigned default '0',
PRIMARY KEY (spiel_id,team)
) TYPE=MyISAM;
Ein Spiel ergibt immer 2 Einträge. (Team1,Team2)
Die Abfrage Lautet:
SELECT liga1_teams.name,SUM(liga1_ergebnisse.tplus), SUM(liga1_ergebnisse.tminus),
SUM(liga1_ergebnisse.tplus-liga1_ergebnisse.tminus),SUM(liga1_ergebnisse.punkte),COUNT(liga1_ergebnisse.spiel_id),liga1_ergebni sse.team
FROM liga1_teams, liga1_ergebnisse WHERE liga1_teams.id= liga1_ergebnisse.team GROUP BY liga1_ergebnisse.team
ORDER BY liga1_ergebnisse.punkte DESC , liga1_ergebnisse.tplus-liga1_ergebnisse.tminus DESC, liga1_ergebnisse.tplus DESC
Und da ist das Problem, MYSQL Sortiert diese Abfrage nicht richtig wenn –Tore ins Spiel kommen. Das heißt, dass eine Tore Differenz von -5 besser ist als -2. Und das kann ja nicht sein. Es ist fast so als ob er das – vor der Zahl Ignoriert.
Was ist falsch wer hat ne Idee?
Kommentar