Loading

How can I aggregate (SUM) the amount?

Publiceringsdatum: Jan 28, 2026
Beskrivning

I wrote the following code to get a total amount, but it returns an error.

Code
TotalCharges__c = [SELECT sum(EntryCharge__c) FROM AllocationTable__c WHERE id=:id];

TotalCharges__c: currency
EntryCharge__c: expression (currency)

Error
Save error: Illegal assignment from LIST<AggregateResult> to Decimal CalculateCharge.trigger

Lösning

To use an aggregation function, use the AggregateResult type. In addition, it is necessary to use valueof method for each type to convert the type, because the aggregation result data cannot be stored to a Decimal variable directly.

For specifics, refer to the sample below:

*******************************
AggregateResult ar = [SELECT sum(EntryCharge__c) s FROM AllocationTable__c WHERE id=:id];  
TotalCharges__c = decimal.Valueof(string.valueof(ar.get('s')));  
system.debug('data = '+String.valueof(j.TotalCharges__c));  
******************************* 

For String type conversion, refer to this topic.

 

Knowledge-artikelnummer

000385401

 
Laddar
Salesforce Help | Article