У меня есть две таблицы:
Компании: (id, name)
Работники: (идентификатор, имя, страна)
Я хотел бы получить все компании и отсортировать их по количеству сотрудников из данной страны.
Для запроса, который ищет компании, у которых больше работников из США, результат должен дать:
#workers from USA | company id | company name
----------------------------------------------
90 6 foo corp
45 9 bar corp
0 3 foobar corp
Я пытался:
select
count(w.country='USA') as mycount,
w.company_id,
c.company_name
from
companies c
left join workers w on
c.id=w.company_id
group by
w.company_id,
c.company_name
order by mycount desc;
Но это все рабочие, независимо от их страны.
Есть идеи?