首页 新闻 搜索 专区 学院

一个有关重复数据的sql问题?

0
悬赏园豆:5 [已关闭问题] 关闭于 2015-08-04 17:31

用户表user有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

yanwushu的主页 yanwushu | 菜鸟二级 | 园豆:204
提问于:2015-06-13 14:51
< >
分享
所有回答(5)
0

逻辑思维错误,面壁24小时。

爱编程的大叔 | 园豆:30753 (高人七级) | 2015-06-13 15:45

能否给些提示?

支持(0) 反对(0) yanwushu | 园豆:204 (菜鸟二级) | 2015-06-13 15:53

@yanwushu: name取一个,accountno你想取哪个?

支持(0) 反对(0) 爱编程的大叔 | 园豆:30753 (高人七级) | 2015-06-13 17:21

@爱编程的大叔: 根据客户的要求是随便取.....

支持(0) 反对(0) yanwushu | 园豆:204 (菜鸟二级) | 2015-06-17 08:19

@yanwushu: 你和oracle说啊,告诉我是没用的。

支持(1) 反对(0) 爱编程的大叔 | 园豆:30753 (高人七级) | 2015-06-17 21:35
0

逻辑错误~请继续面壁24小时。

幻天芒 | 园豆:36781 (高人七级) | 2015-06-13 15:55

已经修改了问题,描述的更加清晰一些,但是实在没有发现罗辑上的错误。能否给些提示?

支持(0) 反对(0) yanwushu | 园豆:204 (菜鸟二级) | 2015-06-13 16:10

@yanwushu: name和accountNo是一对多的,既然你查user的数据,那么肯定会出现多个的,你只能想办法取top 1之类的数据。

支持(0) 反对(0) 幻天芒 | 园豆:36781 (高人七级) | 2015-06-13 16:28
0

oracle就帮不上忙了

Y2zz | 园豆:393 (菜鸟二级) | 2015-06-13 21:40
0

count  group by   having

应该就行了

司幸 | 园豆:319 (菜鸟二级) | 2015-06-15 23:26
0

再怎么根据用户要求取accountno  那也得把取accountno的逻辑写上去才不会重复吧

小白菜T | 园豆:564 (小虾三级) | 2015-07-01 09:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册