假设我拥有一家赛车公司,其数据库包含所有比赛和赛车手的信息。该数据库有一个用于所有赛车手的表(RacerID、名字、姓氏、contactInfo 等),还有一个用于所有比赛的表(RaceID、racer1、racer1、winningRacerID、winningTime)。
您如何计算每个赛车手的获胜百分比?
假设我拥有一家赛车公司,其数据库包含所有比赛和赛车手的信息。该数据库有一个用于所有赛车手的表(RacerID、名字、姓氏、contactInfo 等),还有一个用于所有比赛的表(RaceID、racer1、racer1、winningRacerID、winningTime)。
您如何计算每个赛车手的获胜百分比?
以下查询将为您提供每位赛车手的获胜百分比
查询、SQL 小提琴演示
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 表中有 aleast 1 条记录。