sql >> Database teknologi >  >> RDS >> Sqlserver

Få første række for én gruppe

Edit:ok, nu har du redigeret spørgsmålet sådan, at dette svar ser fuldstændig irrelevant ud...suk...jeg lader være, hvis det hjælper dig i gang. Skål.

Den enkleste løsning givet dine specifikationer:

  select teacherid 
    from mytable 
group by teacherid;

Hvis du har brug for andre oplysninger ud over 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:Jeg har ikke en installation af SQL-Server praktisk at teste på, så syntaksen er muligvis ikke helt korrekt; men det er tæt på.



  1. SQL Dev 4.2 Top SQL

  2. Hvordan ser man CREATE VIEW-koden for en visning i PostgreSQL?

  3. PostgreSQL delvist unikt indeks og upsert

  4. Skal konvertere kolonner til rækker i MYSQL