我有这张桌子
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
我需要为每个用户总结所有时间,如下所示:
user_id time_completed
4 86.30887
5 209.42489
6 35.50000
这是我获得第一张表格的方式:
$result = mysql_query ("SELECT user_id,time_completed FROM `mytable` ORDER BY `mytable`.`user_id` ASC;" )
有什么想法吗?
修改 如果我需要将user_id替换为下表中的名称(db_users),该怎么办?
id username
1 admin
2 peter
3 tom
4 user
5 joey
6 helen
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
像这样:
user_id time_completed country
4 86.30887 GB
5 209.42489 GE
6 35.50000 FR
答案 0 :(得分:8)
您需要使用SUM()
这是一个聚合函数,并按user_id
<击> 撞击>
<击>SELECT user_ID, SUM(time_COmpleted) totalTime
FROM tableName
GROUP BY user_ID
<击> 撞击>
更新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