Maison > Questions et réponses > le corps du texte
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_score
montre
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粉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;