计算多列的百分比

时间:2013-07-23 00:02:39

标签: sql-server

假设我拥有一家汽车赛车公司,其数据库中包含所有比赛和赛车手的信息。数据库有一个表格,适用于所有参赛者(RacerID,名字,姓氏,contactInfo等),以及所有比赛的另一个表格(RaceID,racer1,racer1,winnerRacerID,winningTime)。

你如何计算每位赛车手的胜率?

1 个答案:

答案 0 :(得分:0)

以下查询将为每位赛车手提供胜率

查询,SQL小提琴demo

 select RacerID, FirstName, LastName, count(Races.WinningRacerID) * 100.0 / (select count(1) from Races) as WinningPercentage
 from
    Racers
    left join Races on Racers.RacerID = Races.WinningRacerID
 group by
    RacerID, FirstName, LastName

注意:如果不需要检查除以0错误,假设Race table中有alteast 1记录。