【发布时间】:2017-08-23 14:59:58
【问题描述】:
我有一个名为 result 的表,它有 source_id
id source_id text order
1 1 aaa 1
2 1 bbb 2
3 1 ccc 3
4 2 aaa 1
5 2 bbb 2
5 2 ccc 3
问题是如何通过 source_id 按每个组的顺序获取前 2 条记录顺序?结果应该是这样的
source_id text order
1 aaa 1
1 bbb 2
2 aaa 1
2 bbb 2
我尝试了这些查询,但没有一个有效
.group("source_id").order('order DESC').limit(30)
.group_by(&:source_id).map! { |source_id, latest_results_of_source| latest_results_of_source.limit(30)}
.group_by(&:source_id).map { |source_id, latest_results_of_source| latest_results_of_source.limit(30)}
.group_by(&:source_id).map { |source_id, latest_results_of_source| latest_results_of_source}
【问题讨论】:
-
到目前为止你做了什么?
-
我刚刚更新了我的问题
标签: ruby-on-rails activerecord