日期:2014-05-17  浏览次数:20699 次

如何检索两个字段分别重复而第三个字段不重复的纪录?
一张表tab有三个字段a、b、c,我想检索出a和b的字段分别重复而c字段不重复的所有纪录,该如何写SQL语句呢?

------解决方案--------------------
select * from tab
where (a,b) in (
select a,b
from tab
group by a,b
having count(distinct c)> 1
)
------解决方案--------------------
意思是:
a b c
1 1 1
1 1 2
1 1 2
结果
a b c
1 1 1
1 1 2
select a,b,c from tab
group by a,b
直接group by 就可以了