IT序号网

sql之在mysql中过滤一个组

xiaohuochai 2025年02月15日 编程语言 40 0

我有以下表格中的示例数据

Id      Dsc 
500001  INSURED 
500001  THIRD PARTY 
500001  THIRD PARTY 
500001  THIRD PARTY 
500002  INSURED 
500002  THIRD PARTY 
500003  INSURED 
500004  BROKER 
500005  CLAIMANT 

我希望提取 Dsc 既不是“保险”也不是“经纪人”的那些 ID。由于两列都有重复数据,我为此设计了以下查询..

Select Id from table1 where Dsc not in ('Insured', 'Broker') 
Except 
Select Id from table1 where Dsc in ('Insured', 'Broker') 

有没有其他方法可以做到这一点?

请您参考如下方法:

SELECT id FROM table1 GROUP BY id  
HAVING SUM(CASE WHEN Dsc='Insured' THEN 1 ELSE 0 END)=0 
AND SUM(CASE WHEN Dsc='Broker' THEN 1 ELSE 0 END)=0 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!