首頁  >  問答  >  主體

正確使用MySQL中的COUNT函數

我有 2 張桌子,這是我的小提琴 http://sqlfiddle.com/#!9/da5e4e/3

所以基本上我有2張表,分別稱為personal和interview_score,其中personal.id = Interview_score.personal_id。

假設這是我的 personal

id  name
1   John Doe
2   Nian
3   Rijali

這是我的 interview_score

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

在這種情況下,我只想使用此查詢計算我的 interview_score 表中有多少個personal_id

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;

但它回傳就像這樣

interviewed
0
3
2

同時,我的預期結果是這樣的

interviewed
2

因為在該表上有2個基於該條件的personal_id。

我錯在哪裡?

P粉203648742P粉203648742217 天前358

全部回覆(1)我來回復

  • P粉759451255

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

    您可以使用 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;

    回覆
    0
  • 取消回覆