Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Aplicar ORDER BY em um UNION (Mysql)

SELECT *
FROM (
(SELECT * FROM user_relation WHERE from_user_id = 1)
UNION
(SELECT * FROM user_relation WHERE to_user_id = 1)
) AS i
ORDER BY trust_degree

Você tem que atribuir um alias ao seu select. Mas neste caso um UNION não é necessário e pode ser substituído por um simples OR , como @Karoly Horvath aponta em seu comentário. A consulta resultante ficaria assim:
SELECT 
 * 
FROM user_relation 
WHERE from_user_id = 1 OR to_user_id = 1 
ORDER BY trust_degree