如何在Salesforce中每天选择特定数量的随机记录?

时间:2014-12-11 19:47:20

标签: random salesforce apex-code soql force.com

方案: Salesforce用户每天都会创建x个新机会。在一天结束时,我想创建一个函数(工作流程/ APEX触发器等),随机选择当天创建的3个机会来发送调查。

从概念上讲,我觉得这是可能的,但我从未做过这样的事情,所以我不确定是不是。

1 个答案:

答案 0 :(得分:1)

首先获取当天创建的记录数。

Integer size = Database.getCountQuery('select count() from Opportunity where CreatedDate = TODAY');

然后使用OFFSET获取随机记录。

Integer offset = Math.floor(Math.random() * size).intValue();
Opportunity randomOppty = [select Id from Opportunity where CreatedDate = TODAY LIMIT 1 OFFSET :offset];

您必须为每个SOQL调用随机化offset