2011-11-09 9 views
2

私の問題は、 'user_id'が 'score'とその位置の上位3つにある 'game_id'のリストを返す必要があります。次のように 私のMySQLのテーブルには、次のとおりです。mysqlの各ゲームのトップ3の結果を得る

pk_hiscore_id 
game_id 
user_id 
score 

は、私はこれをどのように行うのでしょうか?

+0

これは、集計関数を使用してデータベースにクエリを行うことによって実行できます。http://dev.mysql.com/doc/refman/5.0/ja/group-by-functions.htmlを参照してください。 – hakre

+0

[私のデータベースレコードを追加しますか?](http://stackoverflow.com/questions/8050213/how-to-sort-and-add-my-database-record) – hakre

+0

スコアの上位3つとuser_idとの間の接続は何ですか?あなたは上位3つの結果を戻したいとは思わないか(ASCとLIMIT 0,3を並べ替える) –

答えて

0

使用このクエリとmysql_fetch_assoc結果:

SELECT * FROM `table_name` ORDER BY `score` DESC LIMIT 0,3 

そこで、このような結果の配列をループ:

// Assume that $array is the array you loaded the query result into. 

for ($position = 1; $position <= 3; $position ++) 
{ 
    $game_id = $array[$i-1]["game_id"]; 

    echo "Game ID: " . $game_id . "\n"; 
    echo "User Position: " . $position; 
} 

私は情報にあなたを与えるべきである、間違ってあなたを理解していない限り、欲しいです。

関連する問題