Player Span Stats Finder - Hockey

Find the best (or worst) spans for any number of games matching your criteria. • Sample SearchesData Coverage
In a span of 5 games, in 2024-25, playing skater, in the regular season, sorted by descending Goals.
THIS QUESTION WAS ANSWERED USING
Stathead Hockey Logo POWERED BY Hockey Reference Logo
Your All Access Pass to the Hockey Database Go beyond the basics. Become a Stathead
Start Your FREE Trial
Display Query »
--------------------------------------

main

Page Setup Time: 0.00112 seconds

WITH
  Gamelog AS (
SELECT person_id, year_id, team_id, FIRST_VALUE(date) OVER w as span_start_date_window, LAST_VALUE(date) OVER w as span_end_date_window, ROW_NUMBER() OVER w AS rn, COUNT(*) OVER w AS played_in_span, phase_id, SUM(goals) OVER w AS goals
FROM sup_player_games
  JOIN sup_games USING (game_id)
  JOIN (SELECT game_id, year_id, comp_id, phase_id, team_id, opp_team_id, opp_comp_id, opp_phase_id, team_game_num_season, home_away_neutral, win, loss, tie FROM sup_team_games) as tg USING (game_id, team_id)
  JOIN sup_phase_seasons USING (comp_id, phase_id, year_id)
  JOIN sup_players USING (person_id)
WHERE is_goalie = 0
  AND type=?
  AND year_id>=?
  AND year_id<=?
  AND (forfeit IS NULL OR (forfeit != 'V' AND forfeit != 'H'))
  AND date < current_date() 
WINDOW w AS (PARTITION BY person_id ORDER BY date ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) 
  ),
  span_list AS (
SELECT person_id, played_in_span, span_start_date_window as span_start_date, span_end_date_window as span_end_date
FROM Gamelog
WHERE played_in_span=? 
GROUP BY person_id, span_start_date
ORDER BY goals DESC, span_start_date DESC LIMIT 0, 20
  )
SELECT name_display, name_display_csk, sup_players.link as name_display_link, person_id, MIN(age_on_day) as age_span_start, span_start_date as span_start_date_csk, span_start_date as span_start_date, span_end_date as span_end_date_csk, span_end_date as span_end_date, GROUP_CONCAT(DISTINCT UPPER(ts.name_abbr)) as teams_played_for_career, 'Games List' as details_games, YEAR(span_start_date) as year_min, SUM(goals IS NULL) as goals_incomplete, SUM(goals) AS goals, SUM(assists IS NULL) as assists_incomplete, SUM(assists) AS assists, SUM(points IS NULL) as points_incomplete, SUM(points) AS points, SUM(plus_minus IS NULL) as plus_minus_incomplete, SUM(plus_minus) AS plus_minus, SUM(pen_min IS NULL) as pen_min_incomplete, SUM(pen_min) AS pen_min, SUM(goals IS NULL)+SUM(goals_sh IS NULL)+SUM(goals_pp IS NULL) as goals_ev_incomplete, SUM(goals - (goals_pp + goals_sh)) AS goals_ev, SUM(goals_pp IS NULL) as goals_pp_incomplete, SUM(goals_pp) AS goals_pp, SUM(goals_sh IS NULL) as goals_sh_incomplete, SUM(goals_sh) AS goals_sh, SUM(goals_gw IS NULL) as goals_gw_incomplete, SUM(goals_gw) AS goals_gw, SUM(shots IS NULL) as shots_incomplete, SUM(shots) AS shots, SUM(time_on_ice)/60 as time_on_ice_csk, SUM(time_on_ice IS NULL) as time_on_ice_incomplete, IF(SUM(st.time_on_ice),CONCAT_WS(':', FLOOR(SUM(st.time_on_ice) / 60), LPAD(IF(ROUND(MOD(SUM(st.time_on_ice), 60)) >= 60, 0, ROUND(MOD(SUM(st.time_on_ice), 60))), 2, '0')),NULL) AS time_on_ice
FROM span_list
  JOIN sup_player_games as st USING (person_id)
  JOIN sup_games USING (game_id)
  JOIN sup_people USING (person_id)
  JOIN sup_players USING (person_id)
  JOIN (SELECT game_id, year_id, comp_id, phase_id, team_id, opp_team_id, opp_comp_id, opp_phase_id, team_game_num_season, home_away_neutral, win, loss, tie FROM sup_team_games) as tg USING (game_id, team_id)
  JOIN (SELECT person_id, year_id, age as age_in_season, comp_id, phase_id, team_id FROM sup_player_team_seasons) as ps2 USING (person_id, year_id, comp_id, phase_id, team_id)
  JOIN sup_phase_seasons USING (comp_id, phase_id, year_id)
  JOIN sup_comp_seasons USING (comp_id, year_id)
  JOIN (SELECT team_id, year_id, name_abbr, name, link, comp_id, phase_id FROM sup_team_seasons) as ts USING (team_id, year_id, comp_id, phase_id)
WHERE is_goalie = 0
  AND type=?
  AND date>=span_start_date
  AND date<=span_end_date 
GROUP BY person_id, span_start_date, span_end_date
ORDER BY goals DESC, span_start_date_csk DESC, person_id 

SQL PARAMS -- $VAR1 = [
          'reg',
          2025,
          2025,
          5,
          'reg'
        ];

Query Time: 0.64 seconds
Table Build Time: 0.04 seconds


--------------------------------------
SH->PARAM -- $VAR1 = {
          'season_start' => 1,
          'season_end' => -1,
          'timeframe' => 'seasons',
          'order_by' => 'goals',
          'rookie' => 'N',
          'pos' => 'S',
          'span_length' => 5,
          'comp_type' => 'reg',
          'year_min' => 2025,
          'year_max' => 2025,
          'match' => 'player_span_game'
        };
SH->PARAM_NO_DEFAULT -- $VAR1 = {
          'year_min' => 2025,
          'year_max' => 2025
        };

Search Criteria

Click on the red text to pre-fill the form with various values

Sort By
Sorting options are only available for subscribers. Sign up now for a free trial.
Timeframe
Your search is currently looking for the individual games in the chosen span of days or seasons. You can also Switch to the search for totals from all games.
Your search is currently looking for the total of all games in the chosen span of days or seasons.
Game Type
Playoff Round
Span Length
Games
Span Options

Statistical Filters (G, A, PIM, etc...)

Player Filters (Team, Age, etc...)

Team
Age (as of day of game)

Days are optional. Leaving days blank will include entire year.

and
  days
to
and
  days
Year (of player's career)
to
Position (primary position for season)
Alumni of Amateur Team
Rookie Status

(under 26, <=25 games in prev. year, or <=6 in 2 previous. Prior to 1990-91, other definitions of rookie existed)

Game Filters (location, playoff round, etc...)

Opponent
Game Result
Game Location
Arena
Game Month

You have edited your search criteria

or keep editing your search

clear changes

Fetching Results

Stathead spinner

Please note that Span Finder searches are particularly data intensive and can take up to 1-2 minutes to complete

Query Results

Subscribe to Stathead Hockey for full results.

Go inside the Hockey Reference database and access the sports search engine that was made for fans like you. Subscriptions start at just $9/month. Learn More.

Get your first month FREE

Already a paid subscriber? Log in for full results.

Data coverage: NHL all-time (since 1917-18) unless otherwise noted. Even Strength, Power Play, and Short-Handed Goals available since 1933-34. Plus/Minus and Shots available since 1959-60. Time on Ice available since 1998-99.

If you utilize material unique to a Sports Reference site for a tweet, an article, or for research for a broadcast or podcast, please strongly consider citing this site as the source for the material. It would be greatly appreciated and would help us continue to produce this material.