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
相关文章