Editar:ok, ahora has editado la pregunta de tal manera que esta respuesta parece completamente irrelevante... suspiro... lo dejaré en caso de que te ayude a empezar. Saludos.
La solución más simple dadas sus especificaciones:
select teacherid
from mytable
group by teacherid;
Si necesita otra información además del teacherid
:
select teacherid, ...other cols...
from (select teacherid, ...other cols...
row_number() over (
partition by teacherid
order by classid /* or class as per edit */) as row_num
from mytable) my_derived_table
where my_derived_table.row_num = 1;
Advertencia emptor:no tengo una instalación de SQL-Server a mano para probar, por lo que la sintaxis puede no ser exactamente correcta; pero está cerca.