表t有name和accountno两个字段,要求查询:拥有三个以上accountno的数据,并且查询结果accountno不能重复。
比如这样查询会得到拥有三个以上accoutno的数据,但是会发生accountno重复的情况:
select * from t where name in
(select name from t group by name having count(distinct accountno) > 3)
查询结果可能是:
张三 zs
张三 zhangs
张三 zhangsan
张三 zs
求解决方案或者思路!
注:数据库为oracle
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这样如何:
select distinct * from t where name in
(select name from t group by name having count(distinct accountno) > 3)