问一条sql

一个表User,有字段id,name,message,现在要查出这个表中发消息(message)最多的人的名字,
怎么表达啊?谢谢

select n form (select name n count(id) c from user group by id order by c desc limit 1) as a;

select o.name,o.co,rownum from (select s.*,rownum from (select t.name,count(*) co from User t group by t.name) s order by s.co desc) o where rownum=1
这个适合在Oracle中 意思是子查询是查出用人名字分组查出人名、和数量在降序,外面一层查询从子查询中取得第一条

用limit变通一下嘛 大哥 思路是那个样,