2016-03-20 2 views
0

Wie finde ich den einzelnen Rang aus der unteren Tabelle, für gleiche Punkte sollte der Rang auch gleich sein, genau wie der olympische Medaillenspiegel.Wie findet man einen individuellen Rang aus einer Tabelle, die aus Goldsilber und Bronzemedaille besteht?

Tabelle wie folgt:

  Gold Slvr B Total 
India  44 0 0 0 
Australia 7 0 0 0 
Pakistan 5 0 1 6 
Zimbabwe 2 2 2 5 
Afghanistan 2 0 0 0 
NewZealand 1 1 0 2 
England  1 1 0 2 
+0

Könnten Sie genauer sein , welches Ergebnis willst du erreichen? – piotrgajow

+0

Ich brauche eine Abfrage, um den Rang eines einzelnen Landes zu finden, für zB eine Abfrage, um den Rang von Simbabwe zu finden, der 3. Rang ist, und der Rang von Neuseeland und England würde ein 6. ergeben Rang, weil sie die gleiche Anzahl von Gold, Silber und Bronze haben, also sollte die Abfrage sortieren der Rang basiert auf der maximalen Anzahl von Gold, dann auf maximalem Silber, dann auf max. Bronze und max. – user2641435

Antwort

1

Die Chancen sind Sie so etwas wie dies wollen:

ORDER BY MAX(Gold) DESC, MAX(Slvr) DESC, MAX(B) DESC 

Für einen Rang mit jeder Zeile darunter finden Rank function in MySQL.

0

bekam die Antwort wie folgt: -

wählen Rang, E-Mail, tgolds, tsilver, tbronze aus (SELECT E-Mail, tgolds, tsilver, tbronze, @curRank: = @curRank + 1 AS Rang VON Ergebnisse p, (SELECT @curRank: = 0) r ORDER BY tgolds desc, tilver desc, tbronze desc, tmedal desc, datum asc) as k wo k.email = '$ _SESSION [email]' ";

Verwandte Themen