正確使用MySQL中的COUNT函數
P粉203648742
P粉203648742 2024-04-04 13:50:47
0
1
369

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

全部回覆(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;
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板