아래에이 쿼리 (각 플레이어는 게임의 다른 수를 해왔다 수 있으므로)이 mysql 쿼리를 수정하여 승률을 표시 하시겠습니까?
+---------+-----------+
| member | Wins |
+---------+-----------+
| Player 1| 4 |
| Player 2| 3 |
| Player 3| 3 |
+---------+-------------+
는 내가 보여주고 싶은 데이터가 더 유용하게하려면 :
SELECT member, count(*) Wins
FROM (SELECT player2_name as member from results
WHERE player1_id = 2 AND player1_result = 'W' AND community_id = 16
UNION ALL SELECT player1_name FROM results WHERE player2_id = 2
AND player2_result = 'W' AND community_id = 16) AS T
group by member ORDER BY Wins DESC
같은 결과를 생성합니다 추가 열 '승리 비율'.
-> 이것은 각 플레이어가 플레이 한 게임 수에 기반합니다.
+---------+-----------+---------------+---------+ | member | Wins | Games Played | Win % | +---------+-----------+---------------+---------+ | Player 1| 4 | 8 | 0.50 | | Player 2| 3 | 3 | 1.00 | | Player 3| 3 | 5 | 0.60 | +---------+-----------+---------------+---------+
내가 바라고있다 - %를 출력하는 MySQL을 직접 할 수없는 경우 다음 진수 나는 아래와 같은 출력을 생성하기 위해 기존 쿼리를 수정할 수있는 방법 0.76
즉, 잘 될 것입니다
SELECT GamesPlayed FROM (SELECT player1_name as member from results
WHERE player1_id = 2 AND community_id = 16
UNION ALL SELECT player2_name FROM results WHERE player2_id = 2
AND community_id = 16) AS GP
다음 행 1 : 단지의 라인을 따라 뭔가를 추가하는
SELECT member, count(*) Wins, round(sum(wins/GamesPlayed(1),2) WinPercentage
,
하지만 그게 얼마나 힘든 일인지 잘 모르겠다.
는 여전히 데이터베이스 스키마를 변경할 수 있습니까? "게임"(참가자 당 하나) 당 두 개의 레코드가있는 테이블은 작업하기가 훨씬 쉽습니다. – Mr47
내가 할 수 있지만 내가 선호하지 않을거야 ... – RDowns