Baselight
Loading...Loading chart...
1WITH cristiano_ronaldo_match_player_stats as 
2(SELECT p.name as player, t.name as team, s.season_label as season, c.name as competition, m.date as match_date, home_teams.name as home_team, away_teams.name as away_team, mps.*
3FROM @blt.ultimate_soccer_dataset.match_player_stats mps
4     INNER JOIN @blt.ultimate_soccer_dataset.matches m on (mps.match_id = m.match_id)
5     INNER JOIN @blt.ultimate_soccer_dataset.players p on (mps.player_id = p.player_id)
6     INNER JOIN @blt.ultimate_soccer_dataset.teams t on (mps.team_id = t.team_id)
7     INNER JOIN @blt.ultimate_soccer_dataset.seasons s on (m.season_id = s.season_id)
8     INNER JOIN @blt.ultimate_soccer_dataset.competitions c on (s.competition_id = c.competition_id)
9     INNER JOIN @blt.ultimate_soccer_dataset.teams home_teams ON (m.home_team_id = home_teams.team_id)
10     INNER JOIN @blt.ultimate_soccer_dataset.teams away_teams ON (m.away_team_id = away_teams.team_id)
11WHERE p.player_id = '5b578ccf-496a-5afb-bea2-c7ece1b2c05b' -- Cristiano Ronaldo 
12      and year(m.date) >= 2015
13)
14SELECT
15  EXTRACT(YEAR FROM match_date) - 1985 AS age,
16  COUNT(*) AS matches,
17  COUNT(*) FILTER (WHERE goals_scored > 0) AS goals,
18  ROUND(100*ROUND(COUNT(*) FILTER (WHERE goals_scored > 0)::DECIMAL / COUNT(*)::DECIMAL, 3),0) AS scoring_rate
19FROM cristiano_ronaldo_match_player_stats
20WHERE minutes_played > 0
21GROUP BY age
22ORDER BY age
agematchesgoalsscoring_rate
30231252
31522548
32512957
33452760
34553258
35432967
36653148
37551324
38503264
39482654
40312168

Share link

Anyone who has the link will be able to view this.