日期:2014-05-17  浏览次数:20775 次

sql编写问题,求大虾。。。
主键 任务编号 企业编号 其他字段
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;

------其他解决方案--------------------
引用:
SQL code


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


楼上写法。。。。。 分数就平均分掉算了!
------其他解决方案--------------------
简单的group 就好了
------其他解决方案--------------------
引用:
SQL code


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

+1
------其他解决方案--------------------
如果用子查询实现的话:

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,