rails 4在postgres中的多个列上选择distinct与where和limit

时间:2014-10-15 22:07:19

标签: ruby-on-rails postgresql

如何选择具有不同值的多个字段以及带有它们的其他非不同字段,所有这些都在一个调用中具有where和limit?我试过.pluck(它支持rails 4中的多个字段),. uniq(在我的情况下不起作用)。

2 个答案:

答案 0 :(得分:7)

在控制器操作

中使用时,这对我有用
@models = Model.select('DISTINCT ON (field1,field2,field3) *')
     .where(id: params[:id])
     .limit(100)

答案 1 :(得分:0)

这里有些冗长,而以ActiveRecord为中心的方法不仅适用于Postgres,而且还适用于MySQL。

Model.select('field1,field2').distinct.where(field3: 'value').limit(10)