запрос сортировать записи случайным образом - PullRequest
0 голосов
/ 05 февраля 2020

Я показываю, на мой взгляд, всех пользователей моей пользовательской таблицы, в таблице есть поле под названием «порядок», в котором я присваиваю номер первым 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)

Ответы [ 2 ]

2 голосов
/ 05 февраля 2020

Возможно ли, что первые 200 пользователей смогут показывать их первыми и произвольно?

ORDER BY CASE WHEN order <= 200
              THEN RAND()
              ELSE order
              END
1 голос
/ 05 февраля 2020

Я бы порекомендовал:

order by (case when order is not null) desc,
         rand()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...