我有一个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 query来表达这个查询,比如select、from、group等等。我该怎么做?
虽然混合使用Rails方法和SQL片段可以做到这一点,但这可能会变得很混乱。直接执行这样的复杂查询通常要简单得多。
查看find_by_sql
方法,以便在模型的上下文中执行此操作:http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-find_by_sql