С помощью запроса where в предложении mysql для выбора пяти определенных строк и другой случайной строки получают ограничение 10 - PullRequest
0 голосов
/ 12 июня 2019

Я хочу отобразить десять записей.

Например,

select * FROM users WHERE id (5,8,9,6,3) 
    UNION
SELECT * FROM users  ORDER BY RAND() LIMIT 10 

Теперь я хочу, чтобы другая строка была случайно выбрана из таблицы пользователей, но с идентификаторами in и другой случайнойстрока получить пять.

Возможно ли это сделать за один запрос.Я пытался использовать union all, но я не получил 10 различных строк.

Спасибо

1 Ответ

1 голос
/ 12 июня 2019

Это нормально работает для меня ..

 SELECT * FROM users ORDER BY (user_id IN(5,8,9,6,3)) DESC, RAND() LIMIT 0,10 

Если просто ввод условия не сработает. Так что поставьте подзапрос. Так выглядит запрос.

SELECT * FROM users ORDER BY (user_id = (select user_id FROM users WHERE 
the_condition)) DESC, RAND() LIMIT 0,10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...