读书人

求一条去除重复资料加总的SQL解决思路

发布时间: 2012-03-28 15:40:03 作者: rapoo

求一条去除重复资料加总的SQL

SQL code
create table t( f1 varchar2(20),  f2 varchar2(20),  f3 varchar2(30),  f4 number,  f5 number,  f6 number);  insert into t values('A','S001','C001',4,3,5);insert into t values('A','S001','C001',4,7,1);insert into t values('B','S001','C001',6,0,1);insert into t values('C','S001','C001',7,4,4);insert into t values('D','S001','C001',6,3,5);insert into t values('E','S001','C001',9,3,8);insert into t values('F','S001','C001',1,2,2);

假设F1和F2是一样的,例如A,S001这样算是重复的,F4只做一次加总(F4一定是一样的),F5和F6是直接SUM就可以。怎么处理。
就是我要得到一条记录是 SUM(F4),SUM(F5),SUM(F6)是 33,22,26而不是 37,22,26,要怎么写一条SQL

[解决办法]
SQL code
SELECT SUM(F4),SUM(F5),SUM(F6)  FROM (SELECT SUM(DISTINCT F4) AS f4 ,SUM(F5) AS f5,SUM(F6) AS f6 FROM t  GROUP BY f1,f2)t/**(有料行名)    (有料行名)    (有料行名)33    22    26**/
[解决办法]
实际测试,请参考:

读书人网 >oracle

热点推荐