すべてのレースとレーサーの情報を含むデータベースを持つカー レース会社を所有しているとします。データベースには、すべてのレーサー (RacerID、名、姓、contactInfo など) のテーブルと、すべてのレース (RaceID、racer1、racer1、winingRacerID、winingTime) の別のテーブルがあります。
各レーサーの勝率はどのように計算しますか?
すべてのレースとレーサーの情報を含むデータベースを持つカー レース会社を所有しているとします。データベースには、すべてのレーサー (RacerID、名、姓、contactInfo など) のテーブルと、すべてのレース (RaceID、racer1、racer1、winingRacerID、winingTime) の別のテーブルがあります。
各レーサーの勝率はどのように計算しますか?
次のクエリは、各レーサーの勝率を示します
クエリ、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 テーブルに少なくとも 1 レコードあると仮定します。