こんにちは、にいるです。
Savepoオリジナルの開発初心者向けプログラム「Sink it」です。
今回で第13回目、題材はクエリ言語の「SOQL集計関数」です。
この記事は「13.SOQL集計関数を使ってみよう」の解説と解答です。
1.SOQL集計関数とは
集計関数は下記のように[関数(項目名)]の形で使用します。
このSOQLだと商談の全件数が確認できます。
1 |
SELECT COUNT(Id) FROM Opportunity |
こちらだと全商談の金額が確認できます。
1 |
SELECT SUM(Amount) FROM Opportunity |
2.解答・解説
解答
解答です。
1 2 3 4 5 6 7 8 9 10 11 |
// ①商談の全件数を取得 AggregateResult count = [SELECT COUNT(Id) FROM Opportunity]; System.debug(count); // ②全商談の平均金額を取得 AggregateResult average = [SELECT AVG(Amount) FROM Opportunity]; System.debug(average); // ③取引先ごとの最新商談の作成日を取得 List<AggregateResult> newOppList = [SELECT Name,MAX(CreatedDate) FROM Account GROUP BY Name]; System.debug(newOppList); |
③がわかりにくいので、クエリエディタでSOQLを実行してみるとデータの持ち方が理解しやすいと思います。
解説
なんと、戻り値のデータ型がOpportunityやAccountではないんですね。
集計関数を使用する場合は、[AggregateResult]という参照専用のオブジェクトを使用する必要があります。
よく使用する関数の種類です。
関数名がそのまま意味を表しているので、各関数の戻り値もイメージしやすいと思います。
集計関数 | COUNT | AVG | SUM | MIN | MAX |
戻り値 | 件数 | 平均値 | 合計 | 最小値 | 最大値 |
3.まとめ
いかがでしたでしょうか。
SOQLを覚えたら、集計関数を使用したSOQLも覚えておきましょう。
レポートやリストビューを使用しなくても開発者コンソールでパッと実行できるため、本当に便利です。
皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。
ではでは!