找出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 的作用吗,以及为什么我的是不是有问题
...全文
113 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010412956 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有重复的。。

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧