我需要使用另一个表中的count创建一个select查询。
我有两个表格,例如category
和candidates
。每个候选人都属于一个类别。
在这里,我想从类别表中选择所有类别以及每个类别可用的候选人数。
像这样:category_name(23)
这是我试过的方式。但它对我不起作用。
SELECT c.category_id
, c.name
, COUNT(cn.job_category) AS cvs
FROM job_category c
LEFT JOIN candidates cn ON cn.job_category = c.category_id
ORDER BY c.name ASC
答案 0 :(得分:2)
您缺少group by
子句。
SELECT c.category_id
, c.name
, COUNT(cn.job_category) AS cvs
FROM job_category c
LEFT JOIN candidates cn ON cn.job_category = c.category_id
GROUP BY c.category_id
, c.name
ORDER BY c.name ASC
注意:如果没有group by
,mysql
将只返回任意类别。它允许此行为,而大多数其他数据库系统在您不在group by
子句中包含非聚合列时会导致错误。