求mysql语句,请各位大虾指点:
表users中字段
id   name   moneyto
1     a      500.5
2     b      200
3     c      500
4     d      200
5     a      600.5
6     b      500
7     c      300.5
8     d      100
查出表中moneyto总和最多的用户的name以及与之对应moneyto的总和.

解决方案 »

  1.   

    这是MSSQL中的语句!
    select top 1 * from 
     (select name,sum(moneyto)as moneyto from users  group by  name) as #d 
     order by moneyto desc
      

  2.   

    你可以用max();
    如果排序后显示最前一行是语句最后加LIMIT 1或limit 0,1select  * from   
      (select   name,sum(moneyto)as   moneyto   from   users     group   by     name)   as   #d   
      order   by   moneyto   desc limit 0,1;
      

  3.   

    2楼提供的语句在MYSQL中语法就通不过吧?MYSQL中没有#d这个东东吧.我测试了下,通不过呀!还有更好的方法么?
      

  4.   

    好像是没有哦,不好意思,不是不加就可以了?用别的别名。mysql> select * from users;
    +----+------+---------+
    | id | name | moneyto |
    +----+------+---------+
    |  1 | a    | 500.500 |
    |  2 | b    | 200.000 |
    |  3 | c    | 500.000 |
    |  4 | d    | 200.000 |
    |  5 | a    | 600.500 |
    |  6 | b    | 500.000 |
    |  7 | c    | 300.500 |
    |  8 | d    | 100.000 |
    +----+------+---------+
    8 rows in set (0.00 sec)mysql> select  * from  (select   name,sum(moneyto)as   moneyto   from   users
      group   by     name) as a order   by   moneyto   desc limit 0,1;
    +------+----------+
    | name | moneyto  |
    +------+----------+
    | a    | 1101.000 |
    +------+----------+
    1 row in set (0.00 sec)
      

  5.   

    已经搞定,谢谢大家关注!select name,sum(moneyto)as moneyto from 
    users group by  name order by moneyto desc limit 1