如何首先按现有布尔属性排序结果

我有很多featured?记录featured? 属性。

我想查询所有内容,将它们分组为特色和非特色,如果可能的话,在它们的组之间随机分组(随机并显示特色的,然后随机随机)。

知道如何在ActiveRecord上执行此操作吗?

使用rand()

MySQL的

 SELECT * FROM  ORDER BY featured?, rand() 

铁路3

 ModelName.order("featured, rand()") 

对于Ex: –

 id featured 1 true 2 false 3 false 4 true 5 false 6 true 

我希望所有的特征值首先为真,然后为假,但是具有真假组的记录的顺序应该是随机的

所以我的代码将是

 User.order("featured DESC, rand()") 

并生成o / p是(注意: – 可以更改组true / false之间的记录顺序)

 id featured 4 true 6 true 1 true 5 false 3 false 2 false