2016-09-07 7 views
0

カウントするテーブルは1つだけですが、私は結合を使用していません。これは可能ですか?mysql - 単一のクエリでカウントに0を含める方法

Select engagement_type as name, COUNT(engagement_type) as y From events group By engagement_type order By engagement_type

しかし、唯一の結果はengagement_typeあたりのカウントが1行です。私は、すべての件数を係員タイプなしで表示したいと思います。これらのように:

enter image description here

あなたの答えに感謝します!ありがとう!

+0

'engagement_type'のすべての値が格納されているルックアップテーブルはありますか? –

+0

'名前として'を使用することはあなたのケースでは良いアイデアではないかもしれませんが、それを削除しようとしています –

+0

エイリアス、他のテーブルはありません。 1つだけ – Dhenn

答えて

1

エンゲージメントタイプのすべての値が格納されているルックアップテーブル、たとえばEngagementTypesがある場合、このテーブルをクエリしてすべてのタイプの完全なリストを取得し、LEFT JOINeventsテーブルを取得して対応するカウント:

Select t1.engagement_type as name, COUNT(t2.engagement_type) as y 
From EngagementTypes AS t1 
left join events as t2 on t1.engagement_type = t2.engagement_type 
group By t1.engagement_type 
order By t1.engagement_type 
+0

いいえありません:(テーブルが1つしかないので苦労します – Dhenn

+0

'engagement_talk_type'に関する情報はどこかに保存する必要がありますので、何とか取得できます。 –

+0

ありがとうございました!私の問題を解決した – Dhenn

関連する問題