Utilisation appropriée de la fonction COUNT dans MySQL
P粉203648742
P粉203648742 2024-04-04 13:50:47
0
1
304

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粉203648742
P粉203648742

répondre à tous(1)
P粉759451255

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;
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!