WITH t AS ( SELECT 1 AS a,1 AS b,1 AS c FROM dual UNION ALL SELECT 1 AS a,2 AS b,3 AS c FROM dual UNION ALL SELECT 1 AS a,3 AS b,3 AS c FROM dual UNION ALL SELECT 2 AS a,3 AS b,2 AS c FROM dual UNION ALL SELECT 2 AS a,4 AS b,1 AS c FROM dual UNION ALL SELECT 3 AS a,5 AS b,4 AS c FROM dual UNION ALL SELECT 4 AS a,5 AS b,2 AS c FROM dual ) SELECT SUM(c) FROM ( SELECT t.*, row_number() over (partition BY a order by a,b ) rn FROM t ) WHERE rn >1;
select sum(C) from ex where (A,B) not in (select A,min(B) from ex group by A)
WITH t AS
( SELECT 1 AS a,1 AS b,1 AS c FROM dual
UNION ALL
SELECT 1 AS a,2 AS b,3 AS c FROM dual
UNION ALL
SELECT 1 AS a,3 AS b,3 AS c FROM dual
UNION ALL
SELECT 2 AS a,3 AS b,2 AS c FROM dual
UNION ALL
SELECT 2 AS a,4 AS b,1 AS c FROM dual
UNION ALL
SELECT 3 AS a,5 AS b,4 AS c FROM dual
UNION ALL
SELECT 4 AS a,5 AS b,2 AS c FROM dual
)
SELECT SUM(c)
FROM
( SELECT t.*, row_number() over (partition BY a order by a,b ) rn FROM t
)
WHERE rn >1;