我有一个查询,我用它来查找关键字一个巨大的表的最新排名。我使用以下查询来实现这一目标。
@results = KeywordRanking.includes(:business_keyword, :keyword)
.where("business_keyword_id in (?)",
biz_keywords.select(:id))
.select("distinct on (business_keyword_id) *")
.order("business_keyword_id, rank_date desc")
最初我们曾经在前端进行分页,但最近我们转向了will_paginate并要求在后端对其进行排序。但是当我传入另一个订单查询时。它会附加到现有查询中,这使得系统不仅可以对rank_date
进行排序,还可以对第二个字段进行排序。
我现在按照下面的顺序传递
@result = if params[:sort]
@result.order("#{params[:sort]} desc")
end
在编写原始查询时,我们只是构建一个嵌套查询,我们对结果进行排序。我们如何在rails中做到这一点。