The Los Angeles Lakers were the top NBA team in 2008 but the last in 2016. We wanted to compare their downfall to the rise of other teams in the league, so we built a comparison of each team’s rank in the standings over the past ten years.

Let’s explore how to create this chart of rankings of the teams in the western conference!

Chart of performance of NBA teams

Rank Teams by Wins per Year

We have data for team, year, and number of wins, located in a table named nba_rankings_west. Here is a portion of what the nba_rankings_west looks like:

NBA Rankings West table

Order Teams from Best to Worst

Using the rank function in SQL, we can build a new table with a rank column where the team that has the greatest number of wins will be ranked the highest.

 , year
 , rank() over(partition by year order by wins asc)

We split up the data using partition by year, and order by the number of wins. This will create the ranking of best-to-worst team each year. If there is a tie for wins, then the tied rows receive the same rank. Using our SQL statement, we get our new table with the ranks:

Ranked NBA table

We can plot the data on a line chart and compare the teams. We can see that some teams’ rankings are relatively stable: the Sacramento Kings hover near the bottom every year, while the San Antonio Spurs have always been in the top half of the conference. Other teams have much greater volatility — the Golden State Warriors had a low point in 2010 – 2012, but then they shoot to the top in 2015 – 2016!