ゲーム、スコア、オールタイムランク、ウィークリーランク、友達とのランクを表示できるグラフを表示する必要があります。
1)high_scores friendid(playerid、gameid、スコア、時間(タイムスタンプ))
2)友人(playerid、)遊んだゲームに基づいてプレイヤーのランクを計算する
は、私が使用して行うことができますどのように思っていました:
は、私は2つのテーブルを持っていますクエリの最小数。
私は自分のゲームサイトにPHP &を使用しています。
ゲーム、スコア、オールタイムランク、ウィークリーランク、友達とのランクを表示できるグラフを表示する必要があります。
1)high_scores friendid(playerid、gameid、スコア、時間(タイムスタンプ))
2)友人(playerid、)遊んだゲームに基づいてプレイヤーのランクを計算する
は、私が使用して行うことができますどのように思っていました:
は、私は2つのテーブルを持っていますクエリの最小数。
私は自分のゲームサイトにPHP &を使用しています。
すべてのリクエストではなく、データを1回計算します。
あなたは2つのソリューションを持っている:各挿入/更新/削除した後
は次のようにそれのためにクエリを作るために管理することができ切り捨てます:
SELECT
gamescores.gameid,
COUNT(*)+1 AS rank,
playergamescores.total,
gamename,
foldername
FROM (
SELECT gameid, playerid, SUM(score) AS total, time
FROM high_scores
GROUP BY gameid, playerid
ORDER BY gameid, total DESC
) AS gamescores
INNER JOIN
(
SELECT gameid, SUM(score) AS total
FROM high_scores
WHERE playerid = 361822
GROUP BY gameid
ORDER BY total DESC
) AS playergamescores
ON playergamescores.gameid = gamescores.gameid
INNER JOIN gamemaster
ON gamescores.gameid = gamemaster.gameid
WHERE gamescores.total > (
SELECT SUM(score) AS total
FROM high_scores
WHERE gamescores.gameid = gameid
AND playerid = 361822
)
GROUP BY gamescores.gameid
ORDER BY gamescores.time DESC
とにかくお返事ありがとうございます... -Navi
いくつかの説明が必要です:各ゲームの後に、ゲームの得点と全日ランキングと週に表示される場所を表示することを意味しますか?週を定義すると、それは最後の7カレンダー日、最後の24x7時間、今週の月曜日以降などですか?友達とランク付け - これも週別に分けられますか?各友達の最高得点に基づいてユニークな友達のみを表示していますか? – RichardTheKiwi