Rails activerecord按条件排序。 MySQL的

时间:2015-03-27 00:55:40

标签: mysql ruby-on-rails ruby-on-rails-4 activerecord

我正在尝试按两个条件对查询进行排序。第一个查询是“百分比”是否高于75,如果不是,则按“等级”排序百分比属于另一个表而不是等级。例如,第一个查询看起来像这样,但只适用于高于'75的值:

joins(:school_annual_data => :school_eligibility_data).order("GREATEST(school_annual_data.survey3_low_percent, school_eligibility_data.low_income_percent)")

然后查询看起来像:

order('school_type ASC')

我如何将它们组合在一起?

1 个答案:

答案 0 :(得分:1)

您应该可以用逗号分隔它们在同一个括号中。

.order(condition_1 ASC, condition_2 ASC)

所以在你的情况下:

.order("GREATEST(school_annual_data.survey3_low_percent, school_eligibility_data.low_income_percent), school_type ASC")

查看更多:http://apidock.com/rails/ActiveRecord/QueryMethods/order