Edit:ok, teď jste otázku upravili tak, že tato odpověď vypadá naprosto irelevantně... povzdech... nechám ji, pro případ, že by vám pomohla začít. Na zdraví.
Nejjednodušší řešení vzhledem k vašim specifikacím:
select teacherid
from mytable
group by teacherid;
Pokud potřebujete další informace kromě 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;
Upozornění emptor:Nemám po ruce instalaci SQL-Serveru, kterou bych mohl otestovat, takže syntaxe nemusí být úplně správná; ale je to blízko.