主键 任务编号 企业编号 其他字段
1 rw001 Qy001 1
2 rw001 Qy002 1
3 rw001 Qy002 1
4 rw001 Qy005 1
5 rw002 Qy004 1
6 rw002 Qy004 1
7 rw002 Qy005 1
8 rw002 Qy008 1
9 rw003 Qy011 1
10 rw003 Qy012 1
11 rw003 Qy013 1
12 rw003 Qy014 1查询:使用sql语句查询出在同一个 “任务编号”里面 “企业编号”重复 的企业编号和任务编号。
查询出的结果应该是:rw001 qy002
rw002 qy004
1 rw001 Qy001 1
2 rw001 Qy002 1
3 rw001 Qy002 1
4 rw001 Qy005 1
5 rw002 Qy004 1
6 rw002 Qy004 1
7 rw002 Qy005 1
8 rw002 Qy008 1
9 rw003 Qy011 1
10 rw003 Qy012 1
11 rw003 Qy013 1
12 rw003 Qy014 1查询:使用sql语句查询出在同一个 “任务编号”里面 “企业编号”重复 的企业编号和任务编号。
查询出的结果应该是:rw001 qy002
rw002 qy004
select 任务编号,企业编号 from 你的表 group by 任务编号,企业编号 having count(*)>1;
CREATE TABLE "CUI_TEST"
( "ID" NUMBER(5,0) NOT NULL ENABLE,
"RW" VARCHAR2(20 BYTE),
"QY" VARCHAR2(20 BYTE),
CONSTRAINT "CUI_TEST_PK" PRIMARY KEY ("ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 NOCOMPRESS LOGGING
TABLESPACE "USERS" ENABLE
) SEGMENT CREATION DEFERRED
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
TABLESPACE "USERS" ;2. insert 测试数据insert into cui_test (id, rw, qy) values (1, 'rw001', 'Qy001');
insert into cui_test (id, rw, qy) values (2, 'rw001', 'Qy002');
insert into cui_test (id, rw, qy) values (3, 'rw001', 'Qy002');
insert into cui_test (id, rw, qy) values (4, 'rw001', 'Qy005');
insert into cui_test (id, rw, qy) values (5, 'rw002', 'Qy004');
insert into cui_test (id, rw, qy) values (6, 'rw002', 'Qy004');
insert into cui_test (id, rw, qy) values (7, 'rw002', 'Qy005');
insert into cui_test (id, rw, qy) values (8, 'rw002', 'Qy008');
insert into cui_test (id, rw, qy) values (9, 'rw003', 'Qy012');
insert into cui_test (id, rw, qy) values (10, 'rw003', 'Qy013');
insert into cui_test (id, rw, qy) values (11, 'rw003', 'Qy014');
commit;3. 查询命令select rw,
qy
from ( select count(1) num,
rw,
qy
from cui_test
group by rw, qy
)
where num > 1
select 任务编号,企业编号
from
(
select 任务编号,企业编号,row_number() over(partition by 任务编号,企业编号 order by 主键) rn
from 表名
)
where rn = 2
我先想到的也是这个。求平分