不能完全理解这一个。我有这样一张桌子
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有关,但我从来没有很好地掌握这些查询。
答案 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
希望它有所帮助。