我试图从表中只获取5条记录,我需要确保排序顺序的方式是特定记录始终位于0位。
我如何实现这一目标?我的DB是MYSql
User.order("IF(id == #{current_user.id}) DESC").take(5)
答案 0 :(得分:1)
可能有一种方法可以使用SQL / MySQL本地执行此操作,但我只需调用两个查询:
users = User.where.not(id: current_user.id).take(4) # perform order/etc
users.unshift(current_user) # or find specific record