2016-03-20 6 views
0

オリンピックのメダルテーブルと同じように、同じポイントでランクも同じにするには、下の表から個々のランクを見つけるにはどうすればよいですか?以下のようにゴールドシルバーとブロンズメダルからなるテーブルから個々のランクを見つける方法

表:

  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

より具体的に – piotrgajow

+0

例えば、ある国のランクを見つけるためのクエリが必要です。たとえば、ジンバブエのランクを3位に、newZealandとイングランドのランクを6位にします彼らは金、銀、青銅の数が同じであるので、ゴールドの最大数に基づいたランク、最大シルバー、最大ブロンズおよび最大合計。 – user2641435

答えて

1

チャンスは、あなたがこのような何かをしたいです:

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

各行とのランクを含むため、Rank function in MySQLを参照してください。

0

は、以下のように答えを得た: - (SELECT電子メール、tgolds、tsilver、tbronze、@curRankから

選択ランク、電子メール、tgolds、tsilver、tbronze:= @curRank + 1の結果PからのランクAS、 (SELECT @curRank:= 0)r:ORDER BY tgolds desc、tsilver desc、tbronze desc、tmedal desc、date asc)kとしてk.email = '$ _SESSION [email]' ";

関連する問題