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