Using the appearances table, you must calculate time_played = (substitute_out - substitute_in) for each row. For players who played the full 90 (or 120), the logic is different.
In the ecosystem of sports data science, few repositories are as meticulously maintained or as democratically accessible as Joshua Fjelstul’s jfjelstul/worldcup database. While the goals.csv file gets the glory and the matches.csv file provides the narrative spine, there is one table that captures the raw, human cost of the World Cup: appearances.csv . jfjelstul worldcup data-csv appearances
At first glance, it is merely a log of who played when. But look closer. This table is the structural engineering of football history. It tells you not just who won, but who endured. It captures the 89th-minute substitutions, the yellow card accumulation, the captains who played every second of extra time, and the reserves who never saw the pitch. Using the appearances table, you must calculate time_played