id               name                       money1               txt        money2
1                 a                           500                 1          1000
2                 b                           200                 1          500
3                 c                           500                 1          800
4                 d                           200                 1          300 
5                 a                           600                 1          800
6                 b                           500                 1          1000
7                 c                           300                 1          600
8                 d                           100                 1          100
9                 a                           600                 2          1000
10                b                           500                 2          2000
11                c                           300                 2          900
12                d                           100                 2          600
13                d                           600                 2          2000
14                a                           100                 3          600
15                b                           500                 3          600
16                c                           800                 3          2000
17                d                           900                 3          1600
18                c                           800                 3          1000
我要得出的结果为:   
            xtx      ¦   name       ¦       money1      ¦   sum(money2)     
            1       ¦    a         ¦       1100       ¦    5100 
            2       ¦    d         ¦       700        ¦    6500 
            3       ¦    c         ¦       1600       ¦    5800 

解决方案 »

  1.   

    select * from (SELECT sum(money2)txt,name,sum(money1) summoney FROM `users` group by txt,name) as a where not exists(select * from (SELECT txt,name,sum(money1) summoney FROM `users` group by txt,name) as b where b.txt=a.txt and b.summoney>a.summoney);这个语句中的 sum(money2)查询出来的是:
     如txt=1,money2=1800,也就是txt=1时name相同的求和,得出了最大的money2.
    我需要得出是txt相同的所有money2的和,让后按txt排序!