集計関数
Spring '10から集計関数が利用できるようになりました。
APIバージョン18以上で使用可能のようです。
利用できる集計関数は以下の6種類。
関数名 | 結果 |
---|---|
Avg | 平均値 |
Count | レコード件数 |
Count_Distinct | nullと重複値を除いたレコード件数 |
Max | 最大値 |
Min | 最小値 |
Sum | 合計値 |
こんな感じで↓使用します。
Select Count(Id) From Account Where Name Like 'a%'
グループ化したい場合は、Group By句と共に利用します↓
Select Name, Max(BudgetedCost) From Campaign Group By Name
Apexではクエリ結果を、
AggregateResult(複数の場合はList<AggregateResult>)で受け取り、AggregateResultオブジェクト.get('名称')で値を取得します。
集計関数の名称は↓のように付けます(maxNumが名称)。
Select Name, Max(Num__c) maxNum From Order__c Group By Name
集計関数の結果取得部分のソースコードはこんな感じ。
List<AggregateResult> aggregateList =
[
Select
Name,
Max(Num__c) maxNum
From
Order__c
Group By
Name
];
for(AggregateResult a : aggregateList) {
Integer maxNum = Integer.valueOf(a.get('maxNum'));
// 処理
}
最近のコメント