sql 在同一张表筛选出一对多或一对一的数据?

例如:有2字段账号 槽位端口 请问怎样筛选出“一个{账号}对应一个{槽位端口}的记录?”和“一个{账号}对应多个{槽位端口}的记录?”

select* from 异常账号数据表 where 账号 in(select 账号 from 异常账号数据表 group by 账号 having count(IP槽位端口)=1)
select* from 异常账号数据表 where 账号 in(select 账号 from 异常账号数据表 group by 账号 having count(IP槽位端口)>1)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-23
select 账号 ,count( 槽位端口) as 个数 from 表 group by 账号 可以查出账号对应几个的 select 账号 from 表 group by 账号 having count(槽位端口)=1 查出一对一的。一对多的 把=改成>
第2个回答  2013-09-23
你可以采用分组的方式来获取
相似回答