2017-11-02 4 views
0

特定のカラム値が何回出現するかを数えるMySQLクエリーを行う方法が不思議です。たとえば、私は様々な列を持つテーブルを持っています、私はidとprop_idの列に興味があります。 prop_idが2であることを各idとの関係で何回カウントしたいのですか?私のクエリのidカラムに関連する特定のカラム値の出現をカウントするMySQLクエリ

id - prop_id 
1 - a 
1 - b 
2 - c 
3 - b 
3 - b 
3 - c 

結果は次のようになります。

id - count(prop_id) 
1 - 1 
2 - 0 
3 - 2 

私はそれはおそらくかなり単純であるにもかかわらず、トラブルのクエリにこれを翻訳を抱えています。私は自分の専門用語が分かっていると確信しています。MySqlの知識はかなり基本的です。

答えて

2

すべてid値をリストにしたいので、あなたがサブクエリ内のすべてのIDを取得することにより、クエリを複雑にする必要がありますし、あなたのテーブルの上にそれに参加左:

select t.id, count(t2.id) as props_count 
from (select distinct id from table) t 
left join table t2 on t.id=t2.id and t2.prop_id='b' 
group by t.id 
+0

ねえシャドウ、私は応答に感謝!問合せが何をしているのかを1行ずつ歩いてもらえますか?私はそれの要点を得るが、私は実行されるよりも秩序が私を少し混乱させると思う。 –

+0

Plsは完全なウォークスルーではなく、不明な点を尋ねます。私は、より複雑なクエリの部分について説明しました。 – Shadow

+0

私はそれを理解しました!私のすべてのデータを含む私の実際のテーブルを参照して 'テーブル'を認識していませんでした。ありがとうございます –

関連する問題