选择有2条以上记录的个人顺序号和它的记录行数

在失业人员资料表中,一个个人顺序号对应多个失业资料顺序号



即一个个人顺序号在失业人员资料中可能对应多条记录。

选择有2条以上记录的个人顺序号和它的记录行数。


select  grsxh, count(grsxh) from yz_shiyeryzl group by grsxh having count(grsxh)>1




涉及“以上”字眼的就是分组筛选。

像这种涉及多少个以上的要求,就是对结果集进行分组,具体可看上一篇:Oracle报错:不是单组分组函数解决

1、根据相同的个人顺序号进行分组。

   这一步,我们要关注select里的选择结果。选择结果应该只有个人顺序号和它的记录行数。

  而不应该出现类似资料顺序号,因为他们是一对多的关系,加入该字段无法分组。

加入资料顺序号后报的错误:



2、先分组再筛选,having是分组后的筛选。

where是分组之前的筛选,具体可看我的博客:

sql语句中GROUP BY 和 HAVING的使用 - qq_26222859的博客 - 博客频道 - CSDN.NET
http://blog.csdn.net/qq_26222859/article/details/51896964


having是分组后的筛选,以下是证据。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值