直接在数据库里面查出来就可以了select max(concat(a,'-', b)) as a,sum(b) as b  from test结果:
  a        b  
50-4    11
50-4+11=57

解决方案 »

  1.   

    直接 SQL 就是了
    select a, (select sum(b) from tbl_name where a< T.a) as b from tbl_nameT
    a   b
    10  
    30 2 
    50 7 
      

  2.   

    如果用php写,怎样?
    我的想法是把所有a的值放到一个array.
    所有b的放到另外一个Array.
    然后从a里拿最大值,再加上b里其他的。
    有更好的么?
      

  3.   

    $a = array(10, 30, 50);
    $b = array(2, 5, 4);
    $max = max($a);
    $sum = 0;
    foreach($a as $i=>$v)
      if($v < $max) $sum += $b[$i];
    echo $max + $sum;
      

  4.   


    $arr = array(
    array(10, 2),
    array(30, 5),
    array(50, 4)
    );$index = 0;
    $max = 0;
    for($i=0,$len=count($arr); $i<$len; $i++){
    if($arr[$i][0]>$max){
    $max = $arr[$i][0];
    $index = $i;
    }
    }$total = $max;
    for($i=0,$len=count($arr); $i<$len; $i++){
    if($i==$index){
    continue;
    }
    $total += $arr[$i][1];
    }echo $total; // 57
      

  5.   

    $a = array(10, 30, 50);
    $b = array(2, 5, 4);
    $max = max($a);
    $i = array_search($max, $a);
    unset($b[$i]);
    echo $max + array_sum($b);