带有左联接的mysql SELECT查询未产生我期望的结果。
我希望有人可以向我展示或指向正确的方向,
我试图建立一个查询,从“用户”表中获取所有用户名,
从主表中获取他们在特定日期花费的所有时间的总和。我使用了左联接,但没有得到预期的结果。
SUM(m.time_spent) as sum_total_time
FROM master as m
LEFT OUTER JOIN users as u ON u.user_id = m.user_id
WHERE m.date_created >= '2016-05-09'
AND m.date_created <= '2016-05-13'
GROUP BY name
ORDER BY name
主表
master_id user_id time_spent date_created
1 1 40 2016-05-01
2 2 36 2016-05-02
3 3 56 2016-05-03
4 2 33 2016-05-03
5 1 32 2016-05-05
nth nth nth number nth date
用户表
user_id first_name last_name
1 James Green
2 Robert Cox
3 Andy Roger
etc etc etc
我希望输出结果应如下所示:
user_id Name sum_total_time
1 James Green 62
2 Robert Cox 69
3 Andy Roger 56
4 Brian Harper 0
5 Angel Lee 0
6 Andrew Martin 55
.....
.....
Nth Name Nth value
最佳答案
您必须直接从主表中选择数据,按用户分组并计算总和。然后,您可以将此结果与用户表结合起来以获取有关该用户的所有信息。