Mysql选择带有count的查询

时间:2016-03-22 03:03:37

标签: mysql select

我需要使用另一个表中的count创建一个select查询。

我有两个表格,例如categorycandidates。每个候选人都属于一个类别。

在这里,我想从类别表中选择所有类别以及每个类别可用的候选人数。

像这样: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

1 个答案:

答案 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 bymysql将只返回任意类别。它允许此行为,而大多数其他数据库系统在您不在group by子句中包含非聚合列时会导致错误。