Quantcast
Channel: tyoshikawa1106のブログ
Viewing all articles
Browse latest Browse all 1436

SFDC:GROUP BYでカテゴリ毎に集計

$
0
0

レコードの新規作成時に特定のカテゴリ毎に採番を行いたい場合があると思います。

f:id:tyoshikawa1106:20151230000738p:plain
f:id:tyoshikawa1106:20151230001424p:plain


そんなときはGROUP BYとMAX関数をつかって現在割り当てられている採番の最大値を取得することができます。

SELECT Category__c, Max(CategoryNo__c) FROM CategoryInfo__c GROUP BY Category__c

f:id:tyoshikawa1106:20151230001613p:plain


ApexトリガのBefore Insertで採番の最大値を取得して+1していけばカテゴリごとの採番を自動化することも可能です。
f:id:tyoshikawa1106:20151230002014p:plain
f:id:tyoshikawa1106:20151230001937p:plain


注意点としてデータローダの一括処理などでBulk APIの並列実行を行った場合、最新の採番が取得できない可能性が考えられます。こういった採番処理を行う場合、並列処理は行わないようにしたほうが良さそうです。


GROUP BYクエリについての詳細はこちらです。

サンプルコード

Apex Trigger & Group By Queryのサンプルコードです。


Viewing all articles
Browse latest Browse all 1436

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>