It may be too late, but probably counting as an analytic function (like a window function) in oracle will help you. When I understand your request correctly, this should solve your problem:
create table sne_test(a number(1) ,b number(1) ,c number(1) ,d number(1) ,e number(1) ,f number(1)); insert into sne_test values(1,1,1,1,1,1); insert into sne_test values(1,1,2,1,1,1); insert into sne_test values(1,1,2,4,1,1); insert into sne_test values(1,1,2,5,1,1); insert into sne_test values(1,2,1,1,3,1); insert into sne_test values(1,2,1,2,1,2); insert into sne_test values(2,1,1,1,1,1); commit; SELECT a,b,c,d,e,f, count(*) over (PARTITION BY a,b,c) FROM sne_test; ABCDEF AMOUNT