在Rails中查找每个引用(外键)的最新条目

时间:2013-04-26 05:57:12

标签: sql ruby-on-rails activerecord group-by

不能完全理解这一个。我有这样一张桌子

user_id | time       |
----------------------
1       | 10         |
1       | 11         |
1       | 12         |
2       | 13         |
3       | 14         |

除此之外还有更多内容,而time是一个日期时间字段,但该信息应该是无关紧要的。我想只提取每个用户的最新记录。所以我的结果集看起来像

user_id | time       |
----------------------
1       | 12         |
2       | 13         |
3       | 14         |

如何使用Rails ActiveRecord界面执行此操作?我假设它与GROUP BY有关,但我从来没有很好地掌握这些查询。

2 个答案:

答案 0 :(得分:1)

试试这个:

select user_id,MAX(time) as MaxTime from tableName Group by user_id

答案 1 :(得分:0)

使用以下查询:

  

从tableName中选择user_id,time user_id =(select last(user_id)   来自tableName)group by user_id

希望它有所帮助。