想到一个方法
SELECT COUNT(DISTINCT (A.PRICE_PLAN_ID||'+'||+A.RE_ID)) A FROM IB_ONE_OFF_CHARGE_RULE
先试试 不知道还有更好的没 不想再java或者js中处理
SELECT COUNT(DISTINCT (A.PRICE_PLAN_ID||'+'||+A.RE_ID)) A FROM IB_ONE_OFF_CHARGE_RULE
先试试 不知道还有更好的没 不想再java或者js中处理
SELECT COUNT(DISTINCT (A.PRICE_PLAN_ID||'+'||+A.RE_ID)) A FROM IB_ONE_OFF_CHARGE_RULE 不知道有更好的没不想在程序中处理
这种问题不应该用group by吗?select a||b ,count(*)
from tab
group by a||b
--having count(*)>1 ---not unique
FROM T
GROUP BY A,B
select a,b,count(*) as cou
from [table]
group by a,b
having count(*)>1
from askforleave
group by user_id||qrbz
having count(*)>1;
from askforleave
group by user_id,qrbz
having count(*)>1;
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'”的时候相等
如果是 A:a b:cde
A:ac b:de
这两种情况,按楼主的意思,是属于重复的,不唯一的。
可按group by A,B 是唯一的
除了group by a||b
另类点的,试试
用本表left jion 本表
select a.id,a.A||a.B,b.id from test a left join b on a.A||a.B=b.A||b.B and a.id!=b.id 那么当b.id为null 时
insert into tmp_zxf_01 values('A',null);
insert into tmp_zxf_01 values('A',null);
insert into tmp_zxf_01 values(null,'A');
insert into tmp_zxf_01 values('B',null);
insert into tmp_zxf_01 values(null,'B');
insert into tmp_zxf_01 values(null,'B');
insert into tmp_zxf_01 values('A','B');
insert into tmp_zxf_01 values('A','B');select a,b
from (
select a,b,row_number()over(partition by a,b order by a) rid
from tmp_zxf_01
) where rid>1