2016-03-22 18 views
0

別のテーブルからcountを使用して選択クエリを作成する必要があります。Mysqlでクエリの選択

categorycandidatesのような2つのテーブルがあります。すべての候補者は1つのカテゴリに属します。

ここではカテゴリテーブルからすべてのカテゴリを選択し、それぞれのカテゴリで使用可能な候補者の数を選択します。このような

は: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 

答えて

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句に集約されていない列を含めないと、ほとんどの他のデータベースシステムでエラーが発生する可能性があります。