Edit:ok, nu har du redigerat frågan så att det här svaret ser helt irrelevant ut...suck...jag lämnar det ifall det hjälper dig att komma igång. Skål.
Den enklaste lösningen med tanke på dina specifikationer:
select teacherid
from mytable
group by teacherid;
Om du behöver annan information utöver 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;
Caveat emptor:Jag har inte en installation av SQL-Server praktisk att testa på, så syntaxen kanske inte är exakt korrekt; men det är nära.