你们能帮我做一个简单案例的SELECT查询吗?
Table A:
UserID UserName
10 John
11 Mike
12 Matt
Table B:
SessionID UserID SessionTime
124 10 20
123 10 122
42 10 30
324 11 55
534 11 42
344 12 19
653 12 32
我需要这个结果:
Result Table:
UserName UserID TotalTime
John 10 172
Mike 11 97
Matt 12 51
对于一个表B,它起作用:
SELECT UserID, SUM(SessionTime) AS "Total Time"
FROM TableB
GROUP BY UserID;
但是我需要在最终结果中附加用户名
谢谢
答案 0 :(得分:2)
您可以通过使用join和group by来实现:
select a.UserId, a.UserName, sum(b.SessionTime) as TotalTime
from tableA a
left join tableB b on a.UserId = b.UserId
group by a.UserId, a.UserName;
注意:这将适用于您的情况下的一对多关系。
答案 1 :(得分:2)
SELECT TableA.Username, TableA.User_ID, SUM(SessionTime) INNER JOIN
TableB ON TableA.User_ID = TableB.User_ID GROUP BY TableA.Username,
TableA.User_ID
答案 2 :(得分:0)
SELECT a.UserName as "UserName"
,a.UserID as "UserID"
,sum(b.SessionTime) as "TotalTime"
FROM a LEFT JOIN b
ON a.UserID = b.UserID GROUP BY a.UserID
这里。我用了表a和表b