解决方案 »

  1.   


    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;
      

  2.   

    select sum(C) from ex where (A,B) not in (select A,min(B) from ex group by A)