soql – How to SUM the value of a field and add in map values when I need to group by two fields/keys in map of map

I need to show different table in VF as per Product_Category__c and sum of Volume__c for each Brand_Name__c

Below was my controller code please suggest how to populate sum of Volume__c in below map:

list<Rebate_Goal_Brand__c> rebBrand = new list<Rebate_Goal_Brand__c>([SELECT Brand_Name__c,Product_Category__c ,Name,Volume__c FROM Rebate_Goal_Brand__c where =:contractId and Contract__r.Sales_Org__r.Sales_Org_Code__c="5191" and Product_Category__c != 'Outros']);
        for(Rebate_Goal_Brand__c rB: rebBrand)
            if(!MapGoals.containsKey(rb.Product_Category__c) ){
                MapGoals.put(rb.Product_Category__c, new map<string,string>());

Read more here: Source link