我有一個發行只知道如何編寫代碼如下要求的百分比:如何數學產生一個固定值
我的球隊名單,每隊有20名球員。每個球隊的名字由球隊名稱組成,名字是'FirstName','Player ...'是'Surname',在字符串'Player'之後出現一個增量數字(來自'NumberID')。
我想要做的是說,每隊20名球員,必須有在「位置」字段中輸入以下職位:
- GK(僅適用於2名球員(換句話說玩家10% )
- DF(僅用於6位玩家(換句話說玩家30%)
- MF(僅用於6位玩家(換句話說玩家30%)
- FW(僅用於6位玩家(換言之爲30%球員)
然後根據它們的位置,基於它們的 '位置' 1之間執行隨機 'PlayerWeighting' 爲每個玩家 -
- GK 100 - 球員加權的第一3%(0 -3)
- DF - 4% - 30%球員加權(4 - 30)
- MF - 31% - 60%玩家加權(31 - 60)
FW - 玩家加權61% - 99% 99) 我可以幫忙編碼嗎? 下面是我的時刻,並輸出它產生:
CREATE PROCEDURE [dbo].[Player_CreateWholeTeam] @TeamID INT AS SET NOCOUNT ON BEGIN INSERT INTO dbo.Player (FirstName, Surname, TeamID) SELECT TeamName AS FirstName, 'Player' + cast(NumberID AS VARCHAR (10)) AS Surname, @TeamID FROM dbo.Team t CROSS JOIN dbo.Number n WHERE TeamID = @TeamID AND n.NumberID <= 20 -- abs(checksum(newid()) % 99) + 1 AS PlayerWeighting, select * from dbo.Player END
OUTPUT( '球員' 表):
你是否簡單地給每個玩家分配一個隨機值(從1到100)來達到加權?然後按位置評估?如果一個球員有多個職位會發生什麼? –
是一個隨機值,沒有玩家會有多個職位。它的固定位置 –
您的加權表格描述中包含GK/DF/DF/DF。這可能是錯的? – TToni