select userid, usergamecount, gameWinCount.WinCount, gameWinCount.WinCount * 1.0 / usergamecount
from
(
Select pcount.pid as userid, sum(pcount.pc) as usergamecount from
(
SELECT playerAID as pid, Count(*) as pc
FROM ArenaMatch
group by playerAID
union all
SELECT playerBID as pid, Count(*) as pc
FROM ArenaMatch
group by playerBID
) as pcount
group by pcount.pid
) as gamecount,
(
select matchResult as WinID, count(*) as WinCount
from ArenaMatch
group by matchResult
) as gameWinCount
where GameCount.userID = gameWinCount.WinID and usergamecount > 0
order by gameWinCount.WinCount / usergamecount desc
select t2.username,t1.count from
(
select top 15 matchResult,count(*) as count from ArenaMatch t1
group by matchResult
order by count desc
) as t1
left join usermaininfo t2
on t1.matchResult = t2.loginID
本文介绍了一种通过SQL查询来统计玩家在游戏中获胜次数与总游戏次数的方法,并计算出每个玩家的胜率。该方法首先从游戏对战记录中分别统计每位玩家参与的游戏总数和获胜次数,然后计算出胜率并按降序排列。
2626

被折叠的 条评论
为什么被折叠?



