【发布时间】:2021-07-15 03:56:43
【问题描述】:
有 3 个表:user、project 和 tracking。这是tracking的表格:
| id | user_id | project_id | start_time | end_time |
|---|---|---|---|---|
| 123 | 32 | 12 | 8 | 12 |
| 124 | 32 | 12 | 13 | 17 |
| 125 | 77 | 63 | 10 | 11 |
| 126 | 77 | 12 | 13 | 17 |
| 127 | 15 | 12 | 15 | 17 |
| 128 | 24 | 12 | 8 | 10 |
start_time 和 end_time 字段与工作时间相关(8 到 12、13 到 17)。
当然,每天,用户都可以为许多项目做出贡献。
现在我想获取项目信息如下:
| Project name | Total tracking time |
|---|---|
| First | 1860 |
| Second | 3122 |
其中,Total tracking time 是项目成员被跟踪为贡献者的所有时间的总和。
如何通过select 查询获得此结果?以下不起作用。
SELECT *,
SUM(SELECT *, (end_time - start_time) AS tracking_time,
FROM tracking
WHERE project_id = project.id
)) AS tracking_time,
FROM project
【问题讨论】: