Mysql 联合使用order by

Mysql 联合使用order by,mysql,Mysql,我有一个问题 select username,amount from employee union all select '' as username,sum(amount) from employee order by cast(username as decimal) 用户名从1000开始 当我使用这个查询时,它总是从最高的用户名显示到最小的用户名 我想将最小用户名显示为最高用户名 我该怎么做呢?尝试将其包装到子查询中 SELECT * FROM ( SELECT

我有一个问题

select username,amount from employee
union all
select '' as username,sum(amount) from employee
order by cast(username as decimal)
用户名从1000开始

当我使用这个查询时,它总是从最高的用户名显示到最小的用户名

我想将最小用户名显示为最高用户名


我该怎么做呢?

尝试将其包装到子查询中

SELECT *
FROM
    (
        SELECT username, amount from employee
        UNION ALL
        SELECT '' as username, sum(amount) from employee
    ) x
ORDER BY (CASE WHEN username = '' THEN 1 ELSE 0 END) ASC, 
          CAST(username AS SIGNED) ASC

按类型转换顺序(用户名为十进制)说明
用户名的数据类型是什么?用户名的样本记录是什么?@Alexey他想要升序。默认情况下,order By按升序显示!!感谢John Woo,若我使用此查询,它将从最小到最大显示,但首先显示金额的总和。我希望这笔钱能维持下去