2 つのテーブルがあり、1 つはゲームの結果 (プレイしたゲームと勝ったゲームの数) を含み、2 つ目は特定のゲームで正解した選択の数 (つまり、正解率) をリストします。
各ゲームでユーザーが勝った回数の割合を計算するために、1 つのクエリを作成する必要があります。各ユーザーは、異なる数のゲームをプレイした可能性があります。
COUNT を使用してこれを実行しようとしましたが、count 関数をグループ化してユーザーがプレーヤーを持っている回数を決定すると、ユーザーが勝った合計回数を取得できません。フィドルを参照してください。
http://sqlfiddle.com/#!2/defc3/1
UPDATE result, games_played
SET result.precentage_correct =
(
**SELECT (COUNT(gp.user_id)/COUNT(gp.user_id)*100)**
FROM games_played as gp
WHERE result.user_id = gp.user_id
AND gp.winner != 'n'
AND gp.game = 1
GROUP BY gp.user_id
)
WHERE games_played.user_id = result.user_id
したがって、どういうわけか、数学演算子を使用して2つの異なる COUNT 関数が必要です