MySQL从一列计算不同的值

时间:2017-08-22 10:13:44

标签: mysql distinct

我有一个有三列的表:

A   B   C
1   2   2
2   2   2
3   1   1
4   1   2   

我想要那些C等于2但具有不同B值的值的计数

因此,在这种情况下,对于C = 2,count = 2(B = 2且B = 1)

我使用了以下命令:

Select count(*) from mytable where C=2 group by (B)

但它产生了:

count(*)
3

我尝试使用“distinct”,但不能用于从一列中选择

2 个答案:

答案 0 :(得分:1)

你试过吗

SELECT COUNT(DISTINCT B) FROM mytable WHERE C = 2;

答案 1 :(得分:1)

使用这样的子查询:

Select count(*) from (
    select distinct B where c=2
)