Почему order by не срабатывает при использовании union в mysql?

Пользователь

от willis.streich , в категории: SQL , год назад

Почему order by не срабатывает при использовании union в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от elissa , год назад

@willis.streich 

Order by не срабатывает при использовании union в MySQL, потому что MySQL не гарантирует сохранение порядка строк при использовании оператора UNION. Если нужно отсортировать результаты SQL-запроса, необходимо использовать операторы ORDER BY и LIMIT для каждого SELECT-запроса в UNION. Например:


SELECT column1, column2 FROM table1 WHERE condition1 ORDER BY column1 LIMIT 10


UNION


SELECT column1, column2 FROM table2 WHERE condition2 ORDER BY column1 LIMIT 10


Это позволит отсортировать результаты каждого SELECT-запроса в UNION, а затем объединить их в единую выборку.