主键 任务编号 企业编号 其他字段
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.   


    select 任务编号,企业编号 from 你的表 group by 任务编号,企业编号 having count(*)>1;
      

  2.   

    如果用子查询实现的话: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
      

  3.   

    select 任务编号 企业编号 from 表名group by 任务编号 企业编号 having count(1)>1
      

  4.   


    select 任务编号,企业编号
    from 
    (
    select 任务编号,企业编号,row_number() over(partition by 任务编号,企业编号 order by 主键) rn
    from 表名
    )
    where rn = 2
      

  5.   

    select 任务编号,企业编号 from 你的表 group by 任务编号,企业编号 having count(*)>1;
    我先想到的也是这个。求平分