我有一个简单的查询需求:查找自 2013 年 1 月 1 日以来下订单的用户列表。
在 SQL 中,这是一个非常简单的查询。
但我正在使用 Rails 和 Active Record。
所以我写道:User.joins(:orders).where("orders.created_at >= '2013-01-01 00:00:00'")
在我们的数据库中,自 2013 年 1 月 1 日以来,我们有 75 个用户发出的 100 个订单。(有些用户显然下了不止一份订单。)
但是,上面的表达式返回 100 个用户。(必须有重复。)
我试过了User.joins(:orders).where("orders.created_at >= '2013-01-01 00:00:00'").uniq
那也行不通。
如何获取自 2013 年 1 月 1 日起下订单的 75 位用户?