具有特定条件的SQL组结果

具有特定条件的SQL组结果,sql,Sql,我只需要选择ID并将其分组,其中所有ConditionId值都是1 ID ConditionId 2 0 2 1 2 0 3 0 3 0 4 1 4 1 结果应该是: ID ConditionId 4 1 如何执行此操作?可以通过检查表中每个id的行数是否等于每个id的conditionid=1

我只需要选择ID并将其分组,其中所有
ConditionId
值都是
1

   ID     ConditionId
    2       0
    2       1
    2       0
    3       0
    3       0
    4       1
    4       1
结果应该是:

ID     ConditionId             
4       1

如何执行此操作?

可以通过检查表中每个id的行数是否等于每个id的conditionid=1的行数来执行此操作

select id
from tablename
group by id
having count(*) = count(case when conditionid = 1 then 1 end)

这可以通过检查表中每个id的行数是否等于conditionid=1每个id的行数来实现

select id
from tablename
group by id
having count(*) = count(case when conditionid = 1 then 1 end)

我倾向于:

select id
from t
group by id
having max(ConditionId) = min(ConditionId) and max(ConditionId) = 1;

我倾向于:

select id
from t
group by id
having max(ConditionId) = min(ConditionId) and max(ConditionId) = 1;

假设数据中只有0和1,这应该可以:

select id
from t
group by id
having min(ConditionId) = 1;

假设数据中只有0和1,这应该可以:

select id
from t
group by id
having min(ConditionId) = 1;

从t中选择不同的id
减
从t中选择不同的id,其中条件id为1;

从t中选择不同的id
减
从t中选择不同的id,其中条件id为1;

请在代码之外提供一些信息,以使此答案更有意义。请在代码之外提供一些信息,以使此答案更有意义。