私はあなたの助けが必要です:
ユーザー、ゲーム、結果用に設定された一連のリレーショナル テーブルがあり、各ユーザーの勝率を計算しようとしています。
多くのブラウジングのおかげで、次の方法を発見しました。
SELECT Winner, (COUNT(Winner) * games.TotalPlayed) AS PercentWon
FROM Results
JOIN (
SELECT 100/COUNT(*) AS TotalPlayed
FROM games
where Player_1 = 'John' OR Player_2 = 'John'
) AS games
where Winner == 'John'
GROUP BY Winner
ORDER BY PercentWon DESC;
これは Johns % を取得するのに完全に機能しますが、結果テーブル全体をスキャンして全員の値を出力したいと考えています。ただし、次の使用は許可されていません。
SELECT Winner, (COUNT(Winner) * games.TotalPlayed) AS PercentWon
FROM Results
JOIN (
SELECT 100/COUNT(*) AS TotalPlayed
FROM games
where Player_1 = Winner OR Player_2 = Winner
) AS games
where Winner != 'Draw'
GROUP BY Winner
ORDER BY PercentWon DESC;
勝者が定義されていないため。実行中にサブクエリに渡される Winner の値を取得するにはどうすればよいですか?