sql >> Base de Datos >  >> RDS >> Mysql

Aplicar ORDER BY en un 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

Tienes que asignar un alias a tu selección. Pero en este caso una UNION no es necesario y podría ser reemplazado por un simple OR , como señala @Karoly Horvath en su comentario. La consulta resultante se vería así:

SELECT 
 * 
FROM user_relation 
WHERE from_user_id = 1 OR to_user_id = 1 
ORDER BY trust_degree