所以说我有一个带有值的列表ID,如下所示:
Name | completed | failed
foo | 2 | 1
bar | 1 | 0
我想计算与A OR B(至少一个)相等的值的不同ID
答案应为2,因为有2个ID具有A或B值。
如果我执行ID VALUE
1 A
1 NULL
1 B
2 NULL
3 A
我无法获取唯一ID。
还有其他解决方案吗?
答案 0 :(得分:2)
您应该能够过滤值A或B,然后计算列出的不同ID,如下所示:
declare @t table (id int not null,
value char(1) null);
insert into @t
values
(1,'A'),
(1,NULL),
(1,'B'),
(2,NULL),
(3,'A');
select
count(distinct id)
from @t
where value in ('A','B');
答案 1 :(得分:1)
select count(distinct Id)
from tbl
where value in ('A','B')