2017-07-29 44 views
1

我使用RoR 5.0.1和PostGres 9.5。我已经基于日期如何在Rails中编写“独特的”查找器方法?

select distinct on (crypto_currency_id) t.* 
from crypto_prices t 
order by crypto_currency_id, last_updated desc; 

我的型号名称是CryptoPrice以下查询,从一个特定的表(由相应的模型来表示)得到重复的记录,但我不清楚如何转换上面的成取景器方法。这

CryptoPrice.distinct.pluck(:crypto_currency_id) 

不会做同样的事情,因为我发现。

回答

3

对于Postgres DISTINCT ON声明,没有Rails内置方法。好像你可以在你选择使用DISTINCT ON

CryptoPrice.select('DISTINCT ON (crypto_currency_id) *') 
      .order(:crypto_currency_id, last_updated: :desc) 

这将产生相同的查询作为您的实例。

相关问题