gpt4 book ai didi

php - MySQL 将 SUM 与多个连接一起使用

转载 作者:行者123 更新时间:2023-11-29 06:27:53 25 4
gpt4 key购买 nike

我有一个项目表和一个任务表我想做一个查询来获取所有项目和按项目 ID 分组的 time_spent 列的总和。因此,基本上列出所有项目并获取属于该项目的任务表中所有 time_spent 列的总和。

通过下面发布的查询,我得到了最新添加的 time_spent 列,而不是所有列的总和。:S

下面是我目前的查询:

SELECT `projects`.`id`, `projects`.`description`, `projects`.`created`,
`users`.`title`, `users`.`firstname`, `users`.`lastname`, `users2`.`title`
as assignee_title, `users2`.`firstname` as assignee_firstname,
`users2`.`lastname` as assignee_lastname,
(select sum(tasks2.time_spent)
from tasks tasks2
where tasks2.id = tasks.id)
as project_duration
FROM (`projects`)
LEFT JOIN `users`
ON `users`.`id` = `projects`.`user_id`
LEFT JOIN `users` as users2
ON `users2`.`id` = `projects`.`assignee_id`
LEFT JOIN `tasks` ON `tasks`.`project_id` = `projects`.`id`
GROUP BY `projects`.`id`
ORDER BY `projects`.`created` DESC

下面是我的项目表: enter image description here

下面是我的任务表: enter image description here

提前致谢!

最佳答案

通常此查询会对您有所帮助。

SELECT p.*, (SELECT SUM(t.time_spent) FROM tasks as t WHERE t.project_id = p.id) as project_fulltime FROM projects as p 

在您的问题中,您没有提到用户。你需要用户吗?您的方法是正确的,也许您的 JOIN 无法获取所有数据。

关于php - MySQL 将 SUM 与多个连接一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29848317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com