Eu faria algo assim:
$list = mysql_query("SELECT * FROM people ORDER BY class_year1, last_name",$db);
$decade = false;
while ($thearray = mysql_fetch_array($list)) {
// checks if decade is diferent, if so updates and prints it
if( $decade != substr($thearray['class_year'], 2, 1) ) {
// every time we change decade we print a DIV
if($decade!==false) echo "</div>";
$decade = substr($thearray['class_year'], 2, 1);
echo "<div><h3>19".$decade."0</h3>";
}
// prints info for each row
echo "<div>".$thearray['name']." - ".$thearray['class_year1']."<br />".$thearray['description']."</div>";
}
// we print another DIV in the end to close it right
echo "</div>";
Dessa forma, você pode atualizar facilmente a função para mostrar as décadas de 1800 e 2000 e não precisa codificá-la completamente.
Espero que ajude!