我有 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。
我错在哪里?
您可以使用 join 而不是 left join,并且还需要按 p.id 进行分组
从上面的查询中你可以得到计数
获取特定人员的计数