我有这样的数据库表结构:
编号 | currency_list_id | 方向标识 | 价值 | 更新时间
我有这样的数据:
1 | 1 | 1 | 8150 | 09-08-2010 01:00:00
1 | 1 | 2 | 8250 | 09-08-2010 01:00:00
1 | 2 | 1 | 8150 | 06-08-2010 01:00:00
1 | 2 | 2 | 8150 | 06-08-2010 01:00:00
1 | 1 | 1 | 8150 | 09-08-2010 15:00:00
1 | 1 | 2 | 8250 | 09-08-2010 15:00:00
所以交换器中的货币几乎每天都设置,并且一天可以设置不止一次..但也可以在几天前设置一个......而且我必须获取所有实际数据..
在rails(ruby)中我如何只能获取最后的实际数据?
在我的示例中,结果将是:
1 | 2 | 1 | 8150 | 06-08-2010 01:00:00
1 | 2 | 2 | 8150 | 06-08-2010 01:00:00
1 | 1 | 1 | 8150 | 09-08-2010 15:00:00
1 | 1 | 2 | 8250 | 09-08-2010 15:00:00
这个怎么做?
我这样尝试:
@currencies = CurrencyValue.find(:all, :conditions => {:currency_list_id => id}, :order => :updated_at)
但是然后我将通过排序获取一些currency_list_id 的所有数据,但是如何仅获取最后两个值?如何获取最后 2 个有序行?