总和值(同一列)

Man*_*anu 1 mysql sql

我有这张桌子

user_id     time_completed
    4           86.30887
    5           57.81364
    5           35.50281
    5           10.00000
    5           74.19355
    5           31.91489
    6           15.00000
    6           20.50000
Run Code Online (Sandbox Code Playgroud)

我需要为每个用户总结所有时间,如下所示:

user_id     time_completed
4           86.30887
5           209.42489
6           35.50000
Run Code Online (Sandbox Code Playgroud)

这是我获得第一个表的方式:

$result = mysql_query ("SELECT user_id,time_completed FROM `mytable` ORDER BY  `mytable`.`user_id` ASC;" )
Run Code Online (Sandbox Code Playgroud)

任何的想法?

编辑: 如果我需要替换user_id作为下表中的名称(db_users)怎么办?

id          username
1           admin
2           peter
3           tom
4           user
5           joey
6           helen
Run Code Online (Sandbox Code Playgroud)

EDIT2: 我已修改此表(db_users),我希望country也出现在查询中.

id          username        country
1           admin           ES
2           peter           IT
3           tom             US
4           user            GB
5           joey            GE
6           helen           FR
Run Code Online (Sandbox Code Playgroud)

像这样:

user_id     time_completed      country
4           86.30887            GB
5           209.42489           GE
6           35.50000            FR
Run Code Online (Sandbox Code Playgroud)

看看这里:http://sqlfiddle.com/#!2/24d1b/11

Joh*_*Woo 8

你需要使用SUM()哪个是聚合函数并按它们分组user_id

SELECT user_ID, SUM(time_COmpleted) totalTime
FROM tableName
GROUP BY user_ID
Run Code Online (Sandbox Code Playgroud)

SQLFiddle演示

更新1

SELECT b.username, SUM(time_COmpleted) totalTime
FROM tableName a 
      INNER JOIN  db_users b
        ON a.user_id = b.id
GROUP BY b.username
Run Code Online (Sandbox Code Playgroud)

SQLFiddle演示