找出pp2表中num重复的记录

tankey0909 爱立信(中国)通信有限公司上海分公司 实习  2013-05-06 12:07:56
我写的是select * from pp2 where num> (select count(num) from pp2 group by num);


答案是select * from pp2 where number in(select num from pp2 group by num having(count(num)>1)


能帮分析一下答案中的having 的作用吗,以及为什么我的是不是有问题
...全文
53 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hh7yx 2013-05-06
1.你的问题 select count(num) from pp2 group by num 可能会返回多个值吧?? 你用num>去比较,它不知道比较哪个,所以会出错。。除非你加个any关键字,应该就对了。 select * from pp2 where num> any(select count(num) from pp2 group by num); 2.正确的sql having是分组后过滤,having(count(num)>1意思就是找出num有重复的。。
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-05-06 12:07
社区公告
暂无公告