Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql - Ottieni la riga con il conteggio delle relazioni più basso

Hai solo bisogno di un outer join per includere gli insegnanti con zero studenti.

select t.id, t.name
from teacher t
left join student s on t.id = s.teacher_id
group by t.id
order by count(s.name)
limit 1

Puoi usare la denormalizzazione (una colonna con il numero precalcolato di studenti per insegnante), tuttavia è una cattiva abitudine e non la consiglierei se non è davvero inevitabile.