获取活动记录中组的第一个孩子

时间:2017-02-06 19:53:37

标签: mysql ruby-on-rails ruby-on-rails-4 activerecord

我们有推荐计划。当推荐用户订阅时,推荐人应该在第一张发票上获得应付金额的百分比。

referral_ids = (an array of a bunch of user_ids)

我可以为每个推荐用户获得一张发票,如下所示:

invoices = Invoice.where(user_id: referred_user_ids, renewal: false).group(:user_id).pluck(:amount_due)

但是,由于amount_due可能因发票而异,我想知道如何确保GROUP BY返回的记录是该组中第一个/最早的记录。提前谢谢。

1 个答案:

答案 0 :(得分:0)

这可能不是您希望的解决方案,但也许(出于商业原因)您应该考虑在发票表中添加新字段,例如

  • referral_fee:boolean(默认为false)
  • referral_fee_percent(默认为0)

然后,您可以为每个会员提供多个可委托发票,并/ /支持滑动佣金佣金

  • 发票1 - 100%
  • 发票2 - 50%

在驳回这个想法之前,可能值得向您的产品经理/首席执行官询问他们是否对此类功能感兴趣。

这样可以非常简单地查找可委​​托发票。