创建赢/输比率表/函数
Posted
技术标签:
【中文标题】创建赢/输比率表/函数【英文标题】:Creating a win/loss ratio table/function 【发布时间】:2015-04-20 23:02:09 【问题描述】:我目前正在制作一个应用程序,该应用程序将为 MMO 的 PVP 系统提供赢/输比率(我有一个专门为它设计的应用程序,但它并不重要)。这个想法是玩家完成一场比赛并输入一些我将在下面包含的数据。在数据库被填充后,玩家可以输入对手的部落标签、即将到来的地图名称、游戏类型和团队组成,以获得对手在该地图的 W/L 比率。某种方式来弄清楚他们的赔率会发生什么。
我已经设计好了表格,但是我对执行此操作的函数的外观以及如何集成它感到困惑。如果它只是直接的 W/L,没什么大不了的。但是一旦我在地图和其他因素中折腾,这有点超出我的想象。
还有一个小的最佳实践问题:输入 Wins/Losses 作为 W/L 还是将其设置为布尔值以便 T=W 和 F=L 更好?
那么这个函数是什么样子的呢?表格数据如下,直接从我的表格创建中提取:
CREATE TABLE [dbo].[Games] (
[GameID] INT NOT NULL,
[SubmitterClanID] INT NULL,
[OpponentClanID] INT NULL,
[GameOutcome] NVARCHAR (3) NULL,
[SubmitterUnitSize] INT NULL,
[OpposingUnitSize] INT NULL,
[GameMode] VARCHAR (50) NULL,
[MapName] VARCHAR (50) NULL,
[Grids] CHAR (2) NULL,
[1stDeck] VARCHAR (50) NULL,
[2ndDeck] VARCHAR (50) NULL,
[3rdDeck] VARCHAR (50) NULL,
[4thDeck] VARCHAR (50) NULL,
[Narrative] VARCHAR (MAX) NULL,
在这种情况下,套牌是敌人的装备。 GameID 将在填充时自动创建,并为 ID 加上 +1。因此,该功能至少需要根据部落 ID、地图名称和游戏模式显示 W/L。理想情况下,它还包括套牌和战略地图网格,但我很满意没有这些。
提前致谢!
【问题讨论】:
关于char(1)
和bit
你可以在这里阅读:***.com/questions/5106166/…
很棒的线程,谢谢。
【参考方案1】:
编辑:Nvm,刚刚意识到您正在寻找一个函数,而不仅仅是一个查询。
假设您不希望降低比率,只需将变量插入以下的 where 子句即可。如果要添加这些,您还可以按网格或其他因素进行分组。
Select Count(distinct case when GameOutcome = 'Win' then GameID end)*100.0
/Count(distinct GameID) as PercentWon --OR
, Cast(Count(distinct case when GameOutcome = 'Win' then GameID end) as Varchar)
+ ':' + Cast(Count(distinct case when GameOutcome = 'Loss' then GameID end) as Varchar) as WinLossRatio
from Games
where OpponentClanID = @OppID
and MapName = @Map
and GameMode = @GameType
【讨论】:
老大,谢谢。我假设它将接受游戏结果中比特值的真假,而不是输赢。一个查询也让我成功了,所以别担心!以上是关于创建赢/输比率表/函数的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用table函数计算单分类变量的频率表(frequency table)使用prop.table函数将table函数计算获得的频率表转化为比率表返回单分类变量每一个类别的比率或者百分比
R语言使用addmargins函数和prop.table函数为二维列联表计算列(column)比例值以及对应的边缘比率值使用addmargins函数和prop.table函数计算二维列联表行边缘比率
R语言使用addmargins函数和prop.table函数为二维列联表计算列(column)比例值以及对应的边缘比率值使用addmargins函数和prop.table函数计算二维列联表行边缘比率
R语言使用prop.table函数为二维列联表计算所有类别组合的比例使用addmargins函数为二维列联表计算所有的边缘频数值使用addmargins函数和prop.table函数计算边缘比率值