问题描述
||
我有一个表StockPrice,其中包含一个时间戳记(时间),一个股票代码(符号)和一些其他属性a,b,c等
在SQL中,我将编写以下内容:
Select *
FROM stock_prices,(SELECT symbol,max(time) as max_time
FROM stock_prices
GROUP BY symbol) latest_prices
WHERE stock_prices.symbol = latest_prices.symbol
AND stock_prices.time = latest_prices.max_time
我想使用rails 3.0 ActiveRecord查询内容来表示此查询,包括选择,从,组等。我该怎么做?
解决方法
尽管可以通过混合使用Rails方法和SQL片段来做到这一点,但这可能会变得混乱。直接执行复杂的查询通常要简单得多。
看一看
find_by_sql
方法在模型的上下文中执行此操作:
http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-find_by_sql