select max(a.name) as 用户姓名,  b.customerid as 用户ID, sum(b.revenue)as 钱总数   
from Customer a,money b 
where a.id=b.customerid
group by b.customerid 

解决方案 »

  1.   

    难道你的一个ID还对应多个用户名,按你的情况应该是一个ID有一个相同的用户名,因此直接可以用name和id来排序不可以吗?
    select a.name as 用户姓名,  b.customerid as 用户ID, sum(b.revenue)as 钱总数   
    from Customer a,money b 
    where a.id=b.customerid
    group by b.customerid 
      

  2.   

    如果名字确实有不同,只取其中一个就用楼上的max就可以了!不过两个速度估计也差不了多少!
      

  3.   

    楼主自己的比其他的都好.内部嵌套视图一定快.Customerid如果索引的话,那加上索引提示速度是非常快的.
      

  4.   

    试试:
    select a.name as 用户姓名,  a.customerid as 用户ID, b.sum(revenue) as 钱总数   from 
    Customer a join money b on a.id=b.customerid;