Team Season Finder - Pro Basketball
Current Search
For single seasons, from 1946-47 to 2025-26, in the NBA/BAA, in the regular season, sorted by descending Wins.
THIS QUESTION WAS ANSWERED USING
POWERED BY
Your All Access Pass to the
Pro Basketball
Database
Go beyond the basics. Become a Stathead
Start Your FREE Trial
Display Query »
--------------------------------------
main
Page Setup Time: 0.00130 seconds
SELECT year_id as year_id_csk, IF(comp_id="WNBA", year_id, CONCAT(year_id-1,"-",SUBSTRING(year_id,3,2))) as year_id, ts.name_abbr as team_name_abbr, ts.link as team_link, comp_id, GROUP_CONCAT(DISTINCT sup_comp_seasons.name_abbr) as comp_name_abbr, SUM(games) AS games, SUM(wins) AS wins, SUM(losses) AS losses, SUM(wins) / SUM(wins + losses) as win_loss_pct_csk, TRIM(LEADING '0' FROM ROUND(SUM(wins) / SUM(wins + losses),3)) AS win_loss_pct, SUM(mp) AS mp, SUM(fg) AS fg, SUM(fga) AS fga, SUM(fg - IFNULL(fg3, 0)) AS fg2, SUM(fga - IFNULL(fg3a, 0)) AS fg2a, SUM(fg3) AS fg3, SUM(fg3a) AS fg3a, SUM(ft) AS ft, SUM(fta) AS fta, SUM(orb) AS orb, SUM(trb - orb) AS drb, SUM(trb) AS trb, SUM(ast) AS ast, SUM(stl) AS stl, SUM(blk) AS blk, SUM(tov) AS tov, SUM(pf) AS pf, SUM(pts) AS pts, IF(SUM(fga), SUM(fg) / SUM(fga), NULL) as fg_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fga), SUM(fg) / SUM(fga), NULL),3)) AS fg_pct, SUM(fg - IFNULL(fg3, 0)) / SUM(fga - IFNULL(fg3a, 0)) as fg2_pct_csk, TRIM(LEADING '0' FROM ROUND(SUM(fg - IFNULL(fg3, 0)) / SUM(fga - IFNULL(fg3a, 0)),3)) AS fg2_pct, IF(SUM(fg3a), SUM(fg3) / SUM(fg3a), NULL) as fg3_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fg3a), SUM(fg3) / SUM(fg3a), NULL),3)) AS fg3_pct, IF(SUM(fta), SUM(ft) / SUM(fta), NULL) as ft_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fta), SUM(ft) / SUM(fta), NULL),3)) AS ft_pct, IF(SUM(fga + fta), SUM(pts) / SUM(2 * (fga + 0.44 * fta)), NULL) as ts_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fga + fta), SUM(pts) / SUM(2 * (fga + 0.44 * fta)), NULL),3)) AS ts_pct, IF(SUM(fga), SUM(fg + 0.5 * IFNULL(fg3, 0)) / SUM(fga), NULL) as efg_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fga), SUM(fg + 0.5 * IFNULL(fg3, 0)) / SUM(fga), NULL),3)) AS efg_pct
FROM sup_team_seasons as ts
JOIN sup_phase_seasons USING (comp_id, phase_id, year_id)
JOIN sup_comp_seasons USING (comp_id, year_id)
WHERE year_id<=?
AND comp_id IN('NBA','BAA')
AND phase_id='REG'
AND year_id>=?
AND type=?
GROUP BY year_id, team_id
ORDER BY wins DESC, year_id DESC, team_id LIMIT 0, 20
SQL PARAMS -- $VAR1 = [
2026,
1947,
'reg'
];
Query Time: 0.04 seconds
Table Build Time: 0.05 seconds
--------------------------------------
SH->PARAM -- $VAR1 = {
'year_max' => 2026,
'match' => 'team_season',
'comp_id' => 'NBA',
'display_type' => 'team_totals',
'comp_type' => 'reg',
'order_by' => 'wins',
'year_min' => 1947,
'type' => 'reg'
};
SH->PARAM_NO_DEFAULT -- $VAR1 = {
'comp_id' => 'NBA',
'type' => 'reg',
'year_min' => 1947,
'year_max' => 2026
};
--------------------------------------
main
Page Setup Time: 0.00130 seconds
SELECT year_id as year_id_csk, IF(comp_id="WNBA", year_id, CONCAT(year_id-1,"-",SUBSTRING(year_id,3,2))) as year_id, ts.name_abbr as team_name_abbr, ts.link as team_link, comp_id, GROUP_CONCAT(DISTINCT sup_comp_seasons.name_abbr) as comp_name_abbr, SUM(games) AS games, SUM(wins) AS wins, SUM(losses) AS losses, SUM(wins) / SUM(wins + losses) as win_loss_pct_csk, TRIM(LEADING '0' FROM ROUND(SUM(wins) / SUM(wins + losses),3)) AS win_loss_pct, SUM(mp) AS mp, SUM(fg) AS fg, SUM(fga) AS fga, SUM(fg - IFNULL(fg3, 0)) AS fg2, SUM(fga - IFNULL(fg3a, 0)) AS fg2a, SUM(fg3) AS fg3, SUM(fg3a) AS fg3a, SUM(ft) AS ft, SUM(fta) AS fta, SUM(orb) AS orb, SUM(trb - orb) AS drb, SUM(trb) AS trb, SUM(ast) AS ast, SUM(stl) AS stl, SUM(blk) AS blk, SUM(tov) AS tov, SUM(pf) AS pf, SUM(pts) AS pts, IF(SUM(fga), SUM(fg) / SUM(fga), NULL) as fg_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fga), SUM(fg) / SUM(fga), NULL),3)) AS fg_pct, SUM(fg - IFNULL(fg3, 0)) / SUM(fga - IFNULL(fg3a, 0)) as fg2_pct_csk, TRIM(LEADING '0' FROM ROUND(SUM(fg - IFNULL(fg3, 0)) / SUM(fga - IFNULL(fg3a, 0)),3)) AS fg2_pct, IF(SUM(fg3a), SUM(fg3) / SUM(fg3a), NULL) as fg3_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fg3a), SUM(fg3) / SUM(fg3a), NULL),3)) AS fg3_pct, IF(SUM(fta), SUM(ft) / SUM(fta), NULL) as ft_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fta), SUM(ft) / SUM(fta), NULL),3)) AS ft_pct, IF(SUM(fga + fta), SUM(pts) / SUM(2 * (fga + 0.44 * fta)), NULL) as ts_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fga + fta), SUM(pts) / SUM(2 * (fga + 0.44 * fta)), NULL),3)) AS ts_pct, IF(SUM(fga), SUM(fg + 0.5 * IFNULL(fg3, 0)) / SUM(fga), NULL) as efg_pct_csk, TRIM(LEADING '0' FROM ROUND(IF(SUM(fga), SUM(fg + 0.5 * IFNULL(fg3, 0)) / SUM(fga), NULL),3)) AS efg_pct
FROM sup_team_seasons as ts
JOIN sup_phase_seasons USING (comp_id, phase_id, year_id)
JOIN sup_comp_seasons USING (comp_id, year_id)
WHERE year_id<=?
AND comp_id IN('NBA','BAA')
AND phase_id='REG'
AND year_id>=?
AND type=?
GROUP BY year_id, team_id
ORDER BY wins DESC, year_id DESC, team_id LIMIT 0, 20
SQL PARAMS -- $VAR1 = [
2026,
1947,
'reg'
];
Query Time: 0.04 seconds
Table Build Time: 0.05 seconds
--------------------------------------
SH->PARAM -- $VAR1 = {
'year_max' => 2026,
'match' => 'team_season',
'comp_id' => 'NBA',
'display_type' => 'team_totals',
'comp_type' => 'reg',
'order_by' => 'wins',
'year_min' => 1947,
'type' => 'reg'
};
SH->PARAM_NO_DEFAULT -- $VAR1 = {
'comp_id' => 'NBA',
'type' => 'reg',
'year_min' => 1947,
'year_max' => 2026
};
Data coverage: since 1946-47 unless otherwise noted. TRB since 1950-51. MP and PER since 1951-52. AST% since 1964-65. TRB% since 1970-71. ORB, DRB, STL, BLK, TOV, ORtg, DRtg, BPM, VORP, and per 100 Poss stats since 1973-74. 3P since 1979-80. GS since 1981-82. Please see our data 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.