日期:2014-05-16  浏览次数:20938 次

求一条sql 一张表中有A B两个字段 判断A+B是否唯一。
如题  100分送上!
万分感谢

------解决方案--------------------
DISTINCT后,还怎么判断唯一呢?
这种问题不应该用group by吗?

select a
------解决方案--------------------
b ,count(*)
from tab
group by a
------解决方案--------------------
b
--having count(*)>1 ---not unique
------解决方案--------------------
SELECT A,B,COUNT(*)
FROM T 
GROUP BY A,B

------解决方案--------------------
支持3楼的,必须用group by 和 having count(1)>1
------解决方案--------------------

select a,b,count(*) as cou
from [table] 
group by a,b
having count(*)>1


------解决方案--------------------
3楼,四楼,都可以,思路是一样的,别争了
------解决方案--------------------
select user_id
------解决方案--------------------
qrbz ,count(*)
 from askforleave
 group by user_id
------解决方案--------------------
qrbz
 having count(*)>1;

------解决方案--------------------
select user_id,qrbz,count(*) as cou
from askforleave
group by user_id,qrbz
having count(*)>1;

------解决方案--------------------
引用:
DISTINCT后,还怎么判断唯一呢?
这种问题不应该用group by吗?

select a
------解决方案--------------------
b ,count(*)
from tab
group by a
------解决方案--------------------
b
--having count(*)>1 ---not unique


这是神一样的人物,佩服佩服
------解决方案--------------------
为什么要去这样想?

A
------解决方案--------------------
B唯一 能够推导出:A、B两个字段能够唯一确定一条记录,那么
A、B分组,去count(*)不就得了:

group by a, b
having count(*)>1;

猪!
------解决方案--------------------
-- 想问题太肤浅,请看下面两个语句的结果:
select 'abc'
------解决方案--------------------
null from dual;
select null
------解决方案--------------------
'abc' from dual;

-- 也就是说当“A字段为'abc',b字段为 NULL的时候”,不应该与当“A字段为NULL,b字段为'abc'”的时候相等

------解决方案--------------------
.....group by a,b having count(1)>1;不就好了e
------解决方案--------------------