答案 0 :(得分:1)
使用NOT EXISTS
select id
from your_table t1
where not exists (select 1
from your_table t2
where t2.id = t1.id and t2.primary = 'TRUE')
我假设primary
是varchar
答案 1 :(得分:1)
每个ID汇总,看看最大值是否为“TRUE”'或者' FALSE'。作为' TRUE' > ' FALSE'在字母表中:如果max =' FALSE'然后没有“真实”。记录身份证。
select id
from mytable
group by id
having max(primary) = 'FALSE';
当然其他条件也是可能的,例如
having count(case when primary = 'TRUE' then 1 end) = 0;