Как объединить два запроса к базе данных MySQL с различной сортировкой на PHP
У меня стояла задача выбрать из одной и той же таблицы два набора данных: один в виде случайных двух записей по одному условию, второй – все остальные записи. Сначала должны отображаться первые две записи, затем – данные воторого запроса. Главное здесь – сортировка выбранных записей, нужно, чтобы она была разной в каждом составляющем наборе. Вот, собственно, код на PHP 7.
$query = "(SELECT * FROM meldung WHERE Top=1 ORDER BY RAND() LIMIT 2) UNION (SELECT * FROM lists WHERE TypePrice=9 ORDER BY PostData DESC LIMIT $page,$perpage)"; $result = mysqli_query($GLOBALS["mysqli_db"],$query); |
Главная деталь здесь – чтобы каждый запрос был в скобках, тогда пересечения сортировок не будет и MySQL выполнит запрос.
Код привожу куском, без соединения с БД и др.