1
我需要從MySQL表table1
(它顯示在下面)中選擇具有不同'foreign_row_id'值的所有記錄,並將它們按最大值datetime
值分組。例如,從下面的表格中我應該選擇id = 2和id = 3的行。在此之後,我必須將結果與phrase_id的表一起加入。 在我的項目中,我只使用沒有Rails的Ruby和ActiveRecord。activerecord在mysql表中有最大值的ruby行
+----+---------------------+----------------+--------------+
| id | datetime | foreign_row_id | other_fields |
+----+---------------------+----------------+--------------+
| 1 | 2013-05-02 17:36:15 | 1 | 1 |
| 2 | 2013-05-02 17:36:53 | 1 | 1 |
| 3 | 2013-05-03 00:00:00 | 2 | 3 |
+----+---------------------+----------------+--------------+
這裏我的Ruby代碼:
@result= Model1.joins(:foreign_row).
where(:user_id => user_id).
order(:datetime).
reverse_order.
select('table1.*, foreign_row.*').
maximum(:datetime, :group => :foreign_row_id).
,這讓我只有一個記錄,而不受ID分組和加盟:{"1":"2013-05-02T17:36:53+09:00"}
。 我應該在我的代碼中更改以獲取所有行?