Richtige Verwendung der COUNT-Funktion in MySQL
P粉203648742
P粉203648742 2024-04-04 13:50:47
0
1
380

Ich habe 2 Tische und das ist meine Geige http://sqlfiddle.com/#!9/da5e4e/3

Im Grunde habe ich also zwei Tabellen mit den Namen „personal“ und „interview_score“, wobei personal.id = Interview_score.personal_id.

Angenommen, das ist mein personalTisch

id  name
1   John Doe
2   Nian
3   Rijali

Das ist meine interview_scoreUhr

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

In diesem Fall möchte ich diese Abfrage nur verwenden, um zu zählen, wie viele persönliche_IDs sich in meiner interview_scoreTabelle

befinden
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;

Aber es kommt so zurück

interviewed
0
3
2

In der Zwischenzeit ist mein erwartetes Ergebnis dieses

interviewed
2

Weil es in dieser Tabelle zwei persönliche IDs gibt, die auf dieser Bedingung basieren.

Was habe ich falsch gemacht?

P粉203648742
P粉203648742

Antworte allen(1)
P粉759451255

您可以使用 join 而不是 left join,并且还需要按 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;

从上面的查询中你可以得到计数

获取特定人员的计数

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;
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage