Maison  >  Questions et réponses  >  le corps du texte

Utilisation appropriée de la fonction COUNT dans MySQL

J'ai 2 tables et voici mon violon http://sqlfiddle.com/#!9/da5e4e/3

Donc, en gros, j'ai 2 tables appelées personal et interview_score où personal.id = Interview_score.personal_id.

Supposons que ce soit ma personal table

id  name
1   John Doe
2   Nian
3   Rijali

C'est ma interview_scoremontre

id  personal_id aspect_id
1   1   1
2   1   2
3   1   3
4   2   1
5   2   2

Dans ce cas, je souhaite simplement utiliser cette requête pour compter le nombre de personal_ids dans ma interview_score table

SELECT COUNT(i.id) as interviewed FROM personal p LEFT JOIN interview_score i ON i.personal_id = p.id GROUP BY i.personal_id;

Mais ça revient comme ça

interviewed
0
3
2

En attendant, mon résultat attendu est le suivant

interviewed
2

Parce qu'il y a 2 personal_id basés sur cette condition sur ce tableau.

Où est-ce que je me suis trompé ?

P粉203648742P粉203648742180 Il y a quelques jours308

répondre à tous(1)je répondrai

  • P粉759451255

    P粉7594512552024-04-05 13:08:43

    Vous pouvez utiliser la jointure au lieu de la jointure gauche et devez également regrouper par p.id

    SELECT COUNT(i.id) as interviewed FROM personal p  JOIN interview_score i ON i.personal_id = p.id GROUP BY p.id;

    À partir de la requête ci-dessus, vous pouvez obtenir le décompte

    Obtenez le décompte d'une personne spécifique

    SELECT COUNT(i.id) as interviewed FROM personal p  JOIN interview_score i ON i.personal_id = p.id and p.id=1 GROUP BY p.id;

    répondre
    0
  • Annulerrépondre