@Pogran

Возможно ли сделать эти запросы через один запрос?

У меня есть три вида пользователей `user`.`account`=10 , `user`.`account`=5 ,`user`.`account`=1 . Я для этих пользователей делаю выборку. Посылаю три запроса сперва для `user`.`account`=10 и вывожу пользователей рандомно, затем для `user`.`account`=5 и `user`.`account`=1 . Смысл в том что сперва рандомно должны вывестись `user`.`account`=10, затем 5 и в конце 1. Т.е отсылаю три вот таких запроса.
SELECT `point`.* FROM `point` LEFT JOIN `user` ON `point`.`user_id` = `user`.`id` RIGHT JOIN `tb_product_point` ON tb_product_point.point_id = point.id INNER JOIN `product` ON product.id = tb_product_point.product_id WHERE (((`point`.`status_id`=100) AND (`point`.`id`<>1)) AND (`product`.`main_category_id`=1)) AND (`user`.`account`=10) GROUP BY `point`.`id` ORDER BY rand()

	SELECT `point`.* FROM `point` LEFT JOIN `user` ON `point`.`user_id` = `user`.`id` RIGHT JOIN `tb_product_point` ON tb_product_point.point_id = point.id INNER JOIN `product` ON product.id = tb_product_point.product_id WHERE (((`point`.`status_id`=100) AND (`point`.`id`<>1)) AND (`product`.`main_category_id`=1)) AND (`user`.`account`=5) GROUP BY `point`.`id` ORDER BY rand()

	SELECT `point`.* FROM `point` LEFT JOIN `user` ON `point`.`user_id` = `user`.`id` RIGHT JOIN `tb_product_point` ON tb_product_point.point_id = point.id INNER JOIN `product` ON product.id = tb_product_point.product_id WHERE (((`point`.`status_id`=100) AND (`point`.`id`<>1)) AND (`product`.`main_category_id`=1)) AND (`user`.`account`=1) GROUP BY `point`.`id` ORDER BY rand()


Результаты этих запросов я объединяю и вывожу. Возможно ли всё это сделать одним единым запросом?
  • Вопрос задан
  • 178 просмотров
Решения вопроса 1
@IceJOKER
Web/Android developer
WHERE `account` IN (1, 5, 10) ORDER BY `account` desc, RAND()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы