sql >> Databáze >  >> RDS >> Mysql

Použít ORDER BY na 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

K vašemu výběru musíte přiřadit alias. Ale v tomto případě UNION není nutné a lze jej nahradit jednoduchým OR , jak ve svém komentáři zdůrazňuje @Karoly Horvath. Výsledný dotaz by vypadal takto:

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


  1. Výkonnostní překvapení a předpoklady:DATEDIFF

  2. Hibernate Chyba při provádění DDL prostřednictvím příkazu JDBC

  3. Vrátit všechny skupiny souborů pro aktuální databázi na serveru SQL Server

  4. Mysql víceřádkový příkaz insert-select s last_insert_id()