我想知道如何进行MySQL查询,计算某个列值出现的次数。例如,我有一个包含各种列的表,我对id和prop_id列感兴趣。我想要计算prop_id为2的次数,与每个id相关。
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的了解非常基础。
答案 0 :(得分: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