sql先排序在分组遇到的问题

有一张表,id,name,money想取出最高价格按用户分组

select * from (select * from permission order by money desc) p group by p.name

这是子查询结果

图片说明

最后分组的结果不是按照我排序的结果来分组的

这是整条sql结果

图片说明

我对这条sql理解是根据sql执行顺序得到子查询生成新的表之后,在新的表里进行分组,在排序,希望大神指点

select * from (select * from order by money desc) group by name 在试下

SELECT NAME ,MAX(money) FROM permission GROUP BY NAME ORDER BY MONEY DESC
这个意思??

select * from (select * from permission order by money desc) p group by p.name ORDER BY max(money) desc这样试下呢

select p.id as id,p.url as url,p.name as name,max(p.money) as money from permission p group by p.name