如何从mysql表中得到总和

时间:2015-05-17 17:03:46

标签: php mysql sql mysqli

我的数据库中有一个表,用于存储用户表的分数,如下所示。

 id     user_id  user_score
    2748    371     3
    2253    353     2
    2254    353     2
    2255    353     2
    2256    353     2
    2257    353     2
    2258    353     2
    2259    353     2

我想从这个表中计算每个用户的总分,并且需要输出这样的用户名

 user_id user_Score
    357     x
    367     y
    354     z

这里x> y> z 我写的PHP代码看起来像这样

 <?php
//Expected query is contains user_id and user_query
      $query="Expected query";
      $connection=mysqli_connect("Connection varables");
      $data=mysqli_query($connection,$query);
      while($row=mysqli_fetch_array($data)){
      echo "User name:";
      echo $row['user_id'];
      echo "</br>";
      echo "Score:";
      echo $row['user_score'];
      echo "</br>";
     }
    ?>

怎么做?。

1 个答案:

答案 0 :(得分:1)

SELECT user_id, MAX(user_score) as max_score
    FROM your_table
    GROUP BY user_id
    ORDER BY max_score DESC
如果我理解正确的话,

应该是你要找的。

它为每个用户提供了用户user_id以及用户的最高分,按高分排序。

修改:如果您要查找每个用户所有分数的总和,则此查询将改为:

SELECT user_id, SUM(user_score) as score_sum
    FROM your_table
    GROUP BY user_id
    ORDER BY score_sum DESC