mysql order by query在联合内部不起作用

mysql order by query在联合内部不起作用,mysql,Mysql,这是我的查询。查询将显示id为2的用户,并将用户id为2以外的其他用户合并 (SELECT account.accountid,account.accountname FROM account,entity WHERE entity.id = account.accountid AND entity.deleted=0 AND account.accountid = 2) UNION (SELECT account.accountid,account.accountname FROM a

这是我的查询。查询将显示id为2的用户,并将用户id为2以外的其他用户合并

(SELECT account.accountid,account.accountname FROM account,entity WHERE entity.id =  account.accountid  AND entity.deleted=0 AND account.accountid = 2) 
UNION 
(SELECT account.accountid,account.accountname FROM account,entity WHERE entity.crmid =  account.accountid  AND entity.deleted=0 AND account.accountid NOT IN(2) ORDER BY account.accountname )
查询很好地显示了结果,但order by不起作用。 我在这里要做什么


请帮助我。

使用一个查询,首先按
account.accountid=2
排序,然后按
account.accountname

SELECT account.accountid,account.accountname 
FROM account,entity 
WHERE entity.id =  account.accountid  
AND entity.deleted=0 
order by case when account.accountid = 2 then 1 else 2 end,
         account.accountname 

使用一个查询,首先按
account.accountid=2
排序,然后按
account.accountname

SELECT account.accountid,account.accountname 
FROM account,entity 
WHERE entity.id =  account.accountid  
AND entity.deleted=0 
order by case when account.accountid = 2 then 1 else 2 end,
         account.accountname