Hallo Leute,
ich bräuchte Eure Hilfe. Ich habe eine Tabelle in MySQL mit Mannschaften und die Abfrage mache ich per SQL in PHP. Diese soll in erster Linie nach Punkten sortiert werden.
Das habe ich auch soweit hinbekommen:
Jetzt kann es aber sein, dass mehrere Mannschaften 6 Punkte haben. Aber bestimmt unterschiedliche Tordifferenz. Ich möchte einfach als zweites Kriterium nach der Anzahl der erzielten Tore (tore_for) sortieren.
Beispiel:
1. Platz: Mannschaft 1: 6 Punkte, 8:2 Tore
2. Platz: Mannschaft 3: 6 Punkte, 6:5 Tore
3. Platz: Mannschaft 2: 6 Punkte, 3:0 Tore
4. Platz: Mannschaft 4: 6 Punkte, 2:2 Tore
Meine Tabelle sieht so aus:
In meiner jetztigen Abfrage kommt es durchaus vor dass die Abfrage der Tabelle so aussieht (nicht alle Spalten berücksichtigt):
8. Platz: Mannschaft 5: 3 Punkte, 3:3Tore
9. Platz: Mannschaft 6: 3 Punkte, 6:3 Tore
10. Platz: Mannschaft 7: 1 Punkte, 2:4 Tore
11. Platz: Mannschaft 8: 1 Punkte, 4:5 Tore
Das stimmt so leider nicht, denn Mannschat 6 steht vor Mannschaft 5. Kann mir jmd. das richtige SQL-Statement sagen?
Vielen Dank
Matze
ich bräuchte Eure Hilfe. Ich habe eine Tabelle in MySQL mit Mannschaften und die Abfrage mache ich per SQL in PHP. Diese soll in erster Linie nach Punkten sortiert werden.
Das habe ich auch soweit hinbekommen:
Code:
SELECT * FROM tabelle_2007_2008 ORDER BY m_punkte DESC;
Jetzt kann es aber sein, dass mehrere Mannschaften 6 Punkte haben. Aber bestimmt unterschiedliche Tordifferenz. Ich möchte einfach als zweites Kriterium nach der Anzahl der erzielten Tore (tore_for) sortieren.
Beispiel:
1. Platz: Mannschaft 1: 6 Punkte, 8:2 Tore
2. Platz: Mannschaft 3: 6 Punkte, 6:5 Tore
3. Platz: Mannschaft 2: 6 Punkte, 3:0 Tore
4. Platz: Mannschaft 4: 6 Punkte, 2:2 Tore
Meine Tabelle sieht so aus:
Code:
CREATE TABLE `tabelle_2000_2001` (
`m_id` int(11) NOT NULL auto_increment,
`m_punkte` int(11) NOT NULL default '0',
`m_name` varchar(255) collate latin1_german1_ci NOT NULL default '',
`m_spiele` int(11) NOT NULL default '0',
`m_siege` int(11) NOT NULL default '0',
`m_unent` int(11) NOT NULL default '0',
`m_nieder` int(11) NOT NULL default '0',
`tore_against` int(11) NOT NULL default '0',
`tore_for` int(11) NOT NULL default '0',
PRIMARY KEY (`m_id`),
KEY `m_Spiele` (`m_spiele`,`m_siege`,`m_unent`,`m_nieder`,`tore_for`)
) ENGINE=MyISAM AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci COMMENT='Tabelle 2000_2001' AUTO_INCREMENT=27 ;
8. Platz: Mannschaft 5: 3 Punkte, 3:3Tore
9. Platz: Mannschaft 6: 3 Punkte, 6:3 Tore
10. Platz: Mannschaft 7: 1 Punkte, 2:4 Tore
11. Platz: Mannschaft 8: 1 Punkte, 4:5 Tore
Das stimmt so leider nicht, denn Mannschat 6 steht vor Mannschaft 5. Kann mir jmd. das richtige SQL-Statement sagen?
Vielen Dank
Matze
Zuletzt bearbeitet: