MySQL查询计算与id列相关的特定列值的出现

时间:2017-11-02 21:28:32

标签: mysql

我想知道如何进行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的了解非常基础。

1 个答案:

答案 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