【发布时间】:2018-01-16 01:03:09
【问题描述】:
我正在尝试在 Rails 中运行查询,在该查询中我根据唯一的列获取记录,在本例中为“account_id”
这很好用:
@comments = @store.comments.where(account_id: @selected_array).where(flagged: true).select('distinct on (account_id) *').paginate(:page => params[:page], :per_page => 30)
除非订单已关闭。当我尝试按创建日期订购时:
@comments = @store.comments.where(account_id: @selected_array).where(flagged: true).select('distinct on (account_id) *').order("created_at DESC").paginate(:page => params[:page], :per_page => 30)
我得到错误:
PG::InvalidColumnReference: ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
在按创建日期订购时,如何使不同部分仍然有效?
【问题讨论】:
标签: mysql ruby-on-rails postgresql activerecord