1

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 関数が必要です

4

1 に答える 1