sql >> Databáze >  >> RDS >> Sqlserver

Získejte první řadu pro jednu skupinu

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.



  1. Vyberte 10 nejlepších záznamů pro každou kategorii v MySQL

  2. vyplňte sloupec poslední hodnotou z oddílu v postgresql

  3. Dotaz na připojení Mysql

  4. Jak naplnit cizí klíče tabulky z jiných tabulek