我有一个表,它通过外键与表users
具有一对多的关系。也就是说,每个用户可以进行多次购买(或者可能没有,在这种情况下,他将在 user_purchases 表中没有条目)。user_purchases
user_id
user_purchases
这里只有一个感兴趣的领域,即purchase_date
.
我正在尝试编写一个 Sequel ORM 语句,该语句将返回具有以下列的数据集:
- 用户身份
- 用户第二次购买的日期(如果存在)
因此,未进行至少 2 次购买的用户将不会出现在此数据集中。编写此 Sequel 声明的最佳方式是什么?
请注意,我正在寻找一个数据集,其中包含 >= 2 次购买的所有返回用户
谢谢!
为清晰而编辑
这是我为获取用户及其第一次购买日期而写的类似声明(而不是第二次购买日期,我在当前帖子中寻求帮助):
DB[:users].join(:user_purchases, :user_id => :id)
.select{[:user_id, min(:purchase_date)]}
.group(:user_id)