MySQL-Using SUM WITH JOIN
好的,我有4张表。
Ausers
表,列id
和name
。
包含列id
、name
和owner
的groups
表。
Aitems
表,列group
和content
。
Acontent
表,列id
、name
和duration
。
我希望能够列出所有组以及该组中每条内容的所有持续时间总和。
我一直在尝试的是这样的:
select groups.id,groups.name,users.name,sum(content.duration) as duration from groups
join users on groups.owner=users.id
join items on items.group=groups.id
join content on content.id=items.content
遗憾的是,这只给出了一个结果,即所有组中每条内容的所有持续时间的总和-如下所示:
"g001", "Group 1", "Me", "400"
我期望的内容是这样的:
"g001", "Group 1", "Me", "160"
"g002", "Group 2", "You", "160"
"g003", "Group 3", "Them", "80"
解决方案
试试
select groups.id,groups.name,users.name,sum(content.duration) as duration from groups
join users on groups.owner=users.id
join items on items.group=groups.id
join content on content.id=items.content
group by groups.name
相关文章