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

Mysql - Få række med det laveste antal relationer

Du skal bare bruge en ydre forbindelse for at inkludere lærerne med nul elever.

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

Du kan bruge denormalisering (en kolonne med det forudberegnede antal elever pr. lærer), men det er en dårlig vane, og jeg vil ikke anbefale det, hvis det ikke virkelig er uundgåeligt.



  1. PHP Prepared Statements... Bind variabel som numerisk område i REGEXP?

  2. SQL Server IN vs. EKSISTERER Ydeevne

  3. SQL SELECT ORDER BY flere kolonner afhængigt af værdien af ​​anden kolonne

  4. Hvordan ændrer man en database til postgresql med Symfony 2.0?