ID  Member_ID  Order_Price
1   1                  20
2   1                  30
3   2                  30
4   2                  20
5   3                  20
6   3                  20  大家好吗,我希望可以将同Member_ID的Order_Price加起来然后取最大值的结果
但问题出现,如果Order_Price有相同的只会出现一次
就好像Member_ID 1和2都是Order_Price 50SELECT SUM( Order_Price )
FROM order_record
GROUP BY Member_ID
ORDER BY SUM( Order_Price ) DESC
LIMIT 1 ;
上面的语句的确可以做到我要求的效果,不过出现相同值就bug了...
曾经有用max 和sum一起用,但研究很久也error
希望有高手可以帮手解答一下,万分感谢,一个小小的电脑系学生上

解决方案 »

  1.   

    不是很理解你意思。
    是不是先求出每个组的总和;
    SELECT SUM( Order_Price ) FROM order_record group by Member_ID  ;
    然后在这个总和里找出最大的?
    select max(a) from (SELECT SUM( Order_Price )as a FROM order_record group by Member_ID) b;
      

  2.   

    select * from 
    (SELECT SUM( Order_Price )as a FROM order_record group by Member_ID) a1 
    inner join
    (select max(a) as ma from (SELECT SUM( Order_Price )as a FROM order_record group by Member_ID) b) b1 on a1.a=b1.ma
      

  3.   

    select a from (SELECT SUM( Order_Price )as a FROM order_record group by Member_ID)b
    where a=(select max(a) from (SELECT SUM( Order_Price )as a FROM order_record group by Member_ID)b1);那就再加个条件,找出那个表中比max(a)大的a。
      

  4.   


    如果再要C 就要inner join嗎?