求一条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
------解决方案--------------------