我在视图中显示了用户表的所有用户,该表中有一个名为“订单”的字段,在其中我为前200条记录分配了一个数字,以便这些用户在“订单”字段将首先显示那些在该字段中为空的人。
前200个用户是否可以先随机显示?
这是我的查询
@users = User.includes(:plan).with_avatar
@users = @users.order( '`order` DESC, sponsor DESC, id DESC' )
@users = @users.paginate(page: page).per_page(18)
答案 0 :(得分:2)
前200个用户是否可以先随机显示?
ORDER BY CASE WHEN order <= 200
THEN RAND()
ELSE order
END
答案 1 :(得分:1)
我建议:
order by (case when order is not null) desc,
rand()