Player Game Stats Finder - College Football
Current Search
For single games, in 2025, sorted by descending Passing TD.
THIS QUESTION WAS ANSWERED USING
POWERED BY
Your All Access Pass to the
College Football
Database
Go beyond the basics. Become a Stathead
Start Your FREE Trial
Display Query »
--------------------------------------
main
Page Setup Time: 0.00166 seconds
SELECT name_display, name_display_csk, sup_players.link as name_display_link, person_id, age_on_day, ts.name_short as team_name_abbr, ts.link as team_link, os.opp_team_link as opp_team_link, date, game_id, sup_games.link as game_link, year_id as year_id_csk, year_id as year_id, IF(home_away_neutral="H","",IF(home_away_neutral="A","@","N")) as game_location, (SELECT points-points_opp+ifnull(points,0)/100 FROM sup_team_games tg2 WHERE tg2.game_id=st.game_id AND tg2.team_id=st.team_id) as game_result_csk, CONCAT((SELECT CONCAT(IF(win=1,'W',IF(loss=1,'L','T')),' ',points,'-',points_opp) FROM sup_team_games tg2 WHERE tg2.game_id=st.game_id AND tg2.team_id=st.team_id),IF(overtimes>0,IF(overtimes>1,CONCAT(' (',overtimes,'OT)'),' (OT)'),'')) as game_result, IFNULL(os.name_short,(SELECT IFNULL(name_short,name) FROM sup_teams WHERE sup_teams.team_id=opp_team_id)) as opp_name_abbr, season_pos as pos_game, CASE
WHEN class = "FR" THEN 1
WHEN class = "SO" THEN 2
WHEN class = "JR" THEN 3
WHEN class = "SR" THEN 4
ELSE 0
END as class_csk, IFNULL(class,"") as class, LEFT(dayname(`date`), 3) as game_day_of_week, team_game_num_season as game_num, pass_cmp, pass_att, (pass_att-pass_cmp) AS pass_inc, IF(pass_att, pass_cmp/pass_att, NULL) as pass_cmp_pct_csk, ROUND(100 * (IF(pass_att, pass_cmp/pass_att, NULL)),1) AS pass_cmp_pct, pass_yds, pass_td, pass_int, IF(pass_att, pass_td/pass_att, NULL) as pass_td_pct_csk, ROUND(100 * (IF(pass_att, pass_td/pass_att, NULL)),1) AS pass_td_pct, IF(pass_att, pass_int/pass_att, NULL) as pass_int_pct_csk, ROUND(100 * (IF(pass_att, pass_int/pass_att, NULL)),1) AS pass_int_pct, IF(pass_att > 0, (8.4 * pass_yds + 330 * pass_td - 200 * pass_int + 100 * pass_cmp) / pass_att, NULL) as pass_rating_csk, ROUND(IF(pass_att > 0, (8.4 * pass_yds + 330 * pass_td - 200 * pass_int + 100 * pass_cmp) / pass_att, NULL),1) AS pass_rating, IF(pass_att, ((pass_yds)/(pass_att)), NULL) as pass_yds_per_att_csk, ROUND(IF(pass_att, ((pass_yds)/(pass_att)), NULL),1) AS pass_yds_per_att, IF(pass_att,((pass_yds + (20.0 * pass_td) - (45.0 * pass_int))/(pass_att)),NULL) as pass_adj_yds_per_att_csk, ROUND(IF(pass_att,((pass_yds + (20.0 * pass_td) - (45.0 * pass_int))/(pass_att)),NULL),2) AS pass_adj_yds_per_att, IF(pass_cmp, pass_yds/pass_cmp, NULL) as pass_yds_per_cmp_csk, ROUND(IF(pass_cmp, pass_yds/pass_cmp, NULL),1) AS pass_yds_per_cmp
FROM sup_player_games as st
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, part_id, team_id, opp_team_id, opp_comp_id, opp_phase_id, team_game_num_season, home_away_neutral, win, loss, tie, points, points_opp FROM sup_team_games) as tg USING (game_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, name_short, conf_id FROM sup_team_seasons GROUP BY team_id, year_id ) as ts USING (team_id, year_id)
LEFT JOIN (SELECT team_id as opp_team_id, year_id, name_abbr, link as opp_team_link, name_short, conf_id as opp_conf_id FROM sup_team_seasons GROUP BY team_id, year_id ) as os USING (opp_team_id, year_id)
LEFT JOIN (SELECT class, person_id, year_id, team_id, comp_id, pos as season_pos, season_from_career_start, season_from_career_end FROM sup_player_team_seasons WHERE phase_id="season-total" ) as spts USING (person_id, year_id, team_id, comp_id)
LEFT JOIN (SELECT parent_conf_id, conf_id, conf_name, conf_abbr, link, comp_id, year_id FROM sup_conference_seasons) as team_conf USING (conf_id, comp_id, year_id)
LEFT JOIN (SELECT parent_conf_id as opp_parent_conf_id, conf_id as opp_conf_id, conf_name, conf_abbr, link, comp_id, year_id FROM sup_conference_seasons) as opp_team_conf USING (opp_conf_id, comp_id, year_id)
WHERE year_id<=?
AND year_id>=?
ORDER BY pass_td DESC, person_id LIMIT 0, 20
SQL PARAMS -- $VAR1 = [
2025,
2025
];
Query Time: 0.41 seconds
Table Build Time: 0.05 seconds
--------------------------------------
SH->PARAM -- $VAR1 = {
'year_max' => 2025,
'draft_pick_type' => 'overall',
'player_game_max' => 9999,
'timeframe' => 'seasons',
'match' => 'player_game',
'player_game_min' => 1,
'team_game_max' => 16,
'year_min' => 2025,
'team_game_min' => 1,
'order_by' => 'pass_td'
};
SH->PARAM_NO_DEFAULT -- $VAR1 = {
'year_max' => 2025,
'year_min' => 2025
};
--------------------------------------
main
Page Setup Time: 0.00166 seconds
SELECT name_display, name_display_csk, sup_players.link as name_display_link, person_id, age_on_day, ts.name_short as team_name_abbr, ts.link as team_link, os.opp_team_link as opp_team_link, date, game_id, sup_games.link as game_link, year_id as year_id_csk, year_id as year_id, IF(home_away_neutral="H","",IF(home_away_neutral="A","@","N")) as game_location, (SELECT points-points_opp+ifnull(points,0)/100 FROM sup_team_games tg2 WHERE tg2.game_id=st.game_id AND tg2.team_id=st.team_id) as game_result_csk, CONCAT((SELECT CONCAT(IF(win=1,'W',IF(loss=1,'L','T')),' ',points,'-',points_opp) FROM sup_team_games tg2 WHERE tg2.game_id=st.game_id AND tg2.team_id=st.team_id),IF(overtimes>0,IF(overtimes>1,CONCAT(' (',overtimes,'OT)'),' (OT)'),'')) as game_result, IFNULL(os.name_short,(SELECT IFNULL(name_short,name) FROM sup_teams WHERE sup_teams.team_id=opp_team_id)) as opp_name_abbr, season_pos as pos_game, CASE
WHEN class = "FR" THEN 1
WHEN class = "SO" THEN 2
WHEN class = "JR" THEN 3
WHEN class = "SR" THEN 4
ELSE 0
END as class_csk, IFNULL(class,"") as class, LEFT(dayname(`date`), 3) as game_day_of_week, team_game_num_season as game_num, pass_cmp, pass_att, (pass_att-pass_cmp) AS pass_inc, IF(pass_att, pass_cmp/pass_att, NULL) as pass_cmp_pct_csk, ROUND(100 * (IF(pass_att, pass_cmp/pass_att, NULL)),1) AS pass_cmp_pct, pass_yds, pass_td, pass_int, IF(pass_att, pass_td/pass_att, NULL) as pass_td_pct_csk, ROUND(100 * (IF(pass_att, pass_td/pass_att, NULL)),1) AS pass_td_pct, IF(pass_att, pass_int/pass_att, NULL) as pass_int_pct_csk, ROUND(100 * (IF(pass_att, pass_int/pass_att, NULL)),1) AS pass_int_pct, IF(pass_att > 0, (8.4 * pass_yds + 330 * pass_td - 200 * pass_int + 100 * pass_cmp) / pass_att, NULL) as pass_rating_csk, ROUND(IF(pass_att > 0, (8.4 * pass_yds + 330 * pass_td - 200 * pass_int + 100 * pass_cmp) / pass_att, NULL),1) AS pass_rating, IF(pass_att, ((pass_yds)/(pass_att)), NULL) as pass_yds_per_att_csk, ROUND(IF(pass_att, ((pass_yds)/(pass_att)), NULL),1) AS pass_yds_per_att, IF(pass_att,((pass_yds + (20.0 * pass_td) - (45.0 * pass_int))/(pass_att)),NULL) as pass_adj_yds_per_att_csk, ROUND(IF(pass_att,((pass_yds + (20.0 * pass_td) - (45.0 * pass_int))/(pass_att)),NULL),2) AS pass_adj_yds_per_att, IF(pass_cmp, pass_yds/pass_cmp, NULL) as pass_yds_per_cmp_csk, ROUND(IF(pass_cmp, pass_yds/pass_cmp, NULL),1) AS pass_yds_per_cmp
FROM sup_player_games as st
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, part_id, team_id, opp_team_id, opp_comp_id, opp_phase_id, team_game_num_season, home_away_neutral, win, loss, tie, points, points_opp FROM sup_team_games) as tg USING (game_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, name_short, conf_id FROM sup_team_seasons GROUP BY team_id, year_id ) as ts USING (team_id, year_id)
LEFT JOIN (SELECT team_id as opp_team_id, year_id, name_abbr, link as opp_team_link, name_short, conf_id as opp_conf_id FROM sup_team_seasons GROUP BY team_id, year_id ) as os USING (opp_team_id, year_id)
LEFT JOIN (SELECT class, person_id, year_id, team_id, comp_id, pos as season_pos, season_from_career_start, season_from_career_end FROM sup_player_team_seasons WHERE phase_id="season-total" ) as spts USING (person_id, year_id, team_id, comp_id)
LEFT JOIN (SELECT parent_conf_id, conf_id, conf_name, conf_abbr, link, comp_id, year_id FROM sup_conference_seasons) as team_conf USING (conf_id, comp_id, year_id)
LEFT JOIN (SELECT parent_conf_id as opp_parent_conf_id, conf_id as opp_conf_id, conf_name, conf_abbr, link, comp_id, year_id FROM sup_conference_seasons) as opp_team_conf USING (opp_conf_id, comp_id, year_id)
WHERE year_id<=?
AND year_id>=?
ORDER BY pass_td DESC, person_id LIMIT 0, 20
SQL PARAMS -- $VAR1 = [
2025,
2025
];
Query Time: 0.41 seconds
Table Build Time: 0.05 seconds
--------------------------------------
SH->PARAM -- $VAR1 = {
'year_max' => 2025,
'draft_pick_type' => 'overall',
'player_game_max' => 9999,
'timeframe' => 'seasons',
'match' => 'player_game',
'player_game_min' => 1,
'team_game_max' => 16,
'year_min' => 2025,
'team_game_min' => 1,
'order_by' => 'pass_td'
};
SH->PARAM_NO_DEFAULT -- $VAR1 = {
'year_max' => 2025,
'year_min' => 2025
};
Data Coverage: Offensive statistics and game results are available back to 1995. Defensive statistics (tackles, fumble recoveries, sacks) are available back to 2005, except for interceptions, which are available back to 2000. Special teams statistics are also available back to 2000. Bowl game stats are included in totals since 2002. See Our Coverage Page for details.


We're Social...for Statheads
Site Last Updated:
Question, Comment, Feedback, or Correction?
Subscribe to our Free Email Newsletter
Do you have a sports website? Or write about sports? We have tools and resources that can help you use sports data. Find out more.