J'ai deux tables:Comment trier par compte personnalisé avec postgresql?
entreprises: (id, nom)
travailleurs: (id, nom, pays)
Je voudrais obtenir toutes les entreprises et les trier par nombre d'employés de un pays donné.
Pour une requête à la recherche pour les entreprises qui ont plus de travailleurs des États-Unis, le résultat devrait donner:
#workers from USA | company id | company name
----------------------------------------------
90 6 foo corp
45 9 bar corp
0 3 foobar corp
J'ai essayé:
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;
Mais c'est à compter tous les travailleurs quel que soit leur pays.
Des idées?
@Ggolo: voir mon modifier à ce poste. –
En fait, je veux que ma requête retourne même les entreprises qui n'ont pas de travailleurs des États-Unis, dans ce cas mycount devrait retourner 0. – Ggolo
en remplaçant COUNT (w.country = 'USA') avec COUNT (*) retourne tous les travailleurs, je veux numéro pour compter le nombre de travailleurs des États-Unis seulement. – Ggolo