Mysql选择带计数的查询
我需要从另一个表创建一个带有count的select查询 我有两个表,如Mysql选择带计数的查询,mysql,select,Mysql,Select,我需要从另一个表创建一个带有count的select查询 我有两个表,如类别和候选人。每个候选人都属于一个类别 在这里,我想从category表中选择所有类别,以及每个类别的可用候选数量 如下所示:category\u name(23) 我就是这样试的。但这对我不起作用 SELECT c.category_id , c.name , COUNT(cn.job_category) AS cvs FROM job_category c LEFT JOIN
类别
和候选人
。每个候选人都属于一个类别
在这里,我想从category表中选择所有类别,以及每个类别的可用候选数量
如下所示:category\u 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
您缺少
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
注意:如果没有
groupby
,mysql
将只返回任意类别。它允许这种行为,而大多数其他数据库系统在group by
子句中不包含非聚合列时会导致错误。缺少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
注意:如果没有groupby
,mysql
将只返回任意类别。当大多数其他数据库系统在GROUPBY
子句中不包含非聚合列时,它允许这种行为