MySQL查询计数唯一列的行

时间:2016-02-16 16:42:28

标签: mysql

我试图创建一个非常复杂的MySQL查询,这将导致单个值显示3次的唯一ID数。

-- id ------ p -------- v -----
|  1   |     a     |    0     |
-------------------------------
|  1   |     a     |    0     |
-------------------------------
|  1   |     a     |    0     |
-------------------------------
|  1   |     b     |    15    |
-------------------------------
|  1   |     b     |    30    |
-------------------------------
|  2   |     a     |    0     |
-------------------------------
|  2   |     a     |    0     |
-------------------------------
|  2   |     a     |    0     |
-------------------------------
|  2   |     a     |    0     |
-------------------------------
|  2   |     b     |    85    |
-------------------------------
|  3   |     a     |    0     |
-------------------------------
|  3   |     a     |    0     |
-------------------------------
|  3   |     a     |    0     |
-------------------------------
|  3   |     b     |    51    |
-------------------------------
|  3   |     b     |    75    |
-------------------------------

对于1的ID,a的值column p显示3次。因此我们在返回值(返回值= 1)中添加一个,对于id 3,同样的事情发生,其中a显示3次。所以返回值现在应该是2。

基本上,我想知道值id正好a次显示3v列等于0

1 个答案:

答案 0 :(得分:0)

select t.id
from mytable t
where t.p = 'a' and t.v = 0
group by t.id
having count(*) = 3