首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >select查询-消除条件中具有重复列值的行

select查询-消除条件中具有重复列值的行
EN

Stack Overflow用户
提问于 2018-10-12 04:09:23
回答 2查看 40关注 0票数 0

我有一个select查询,结果如下:

代码语言:javascript
复制
ID     COMPLIANT
------------------
10         0
12         0
29         0
29         1
43         1
44         1
44         0

如果一个ID已经被标记为合规一次(1而不是0),那么我如何在没有这些重复ID行的情况下获得结果,带有COMPLIANT=0的重复行不会出现?我想:

代码语言:javascript
复制
ID     COMPLIANT
------------------
10         0
12         0
29         1
43         1
44         1
EN

回答 2

Stack Overflow用户

发布于 2018-10-12 04:10:52

那么聚合呢?

代码语言:javascript
复制
select id, max(complaint) as complaint
from t
group by id;

这将为每个id返回一行。如果你可以有多个抱怨--你想要所有的抱怨--那么另一个选择是:

代码语言:javascript
复制
select id, complaint
from t
where complaint = 1
union all
select id, complaint
from t
where not exists (select 1 from t t2 where t2.id = t.id and t2.complaint = 1);
票数 3
EN

Stack Overflow用户

发布于 2018-10-12 05:15:54

这将会起作用:

代码语言:javascript
复制
select id, max(complaint) 
from tablename
group by id;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52768174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档